6

I copied a working script from my PHP server, but for development purposes, I would like it to work from my local XAMPP server.

The cURL:

        $realpath_curl_file = realpath($curl_file);

        $post = array(
                'recipient_number' => $recipient_number,
                'user_id' => $user_id,
                'up_file'=> "@$realpath_curl_file"
        );

        //prepare data for cUrl
        $target_url = "http://api.blankthis.com/curl/outgoing";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $target_url);
        curl_setopt($ch, CURLOPT_POST,1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

        $result = curl_exec ( $ch );
        $err = curl_errno ( $ch );
        $errmsg = curl_error ( $ch );
        $header = curl_getinfo ( $ch );
        $httpCode = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );
        print_r($result);
        echo '------------------------';
        print_r($ch);
        print_r($err);
        print_r($errmsg);
        print_r($header);
        print_r($httpCode);

When I do a print_r($_POST) and print_r($_FILES), no files are being transfered. This is my result:

POST:Array ( [recipient_number] => 2394434455 [user_id] => 2 [up_file] => @C:\Users\Sharktek\AppData\Local\Temp\1422046077466.zip ) 

FILES:Array ( ) 

------------------------
Resource id 
#570
Array ( [url] => http://api.redfax.com/curl/outgoing [content_type] => text/html; charset=UTF-8 [http_code] => 200 [header_size] => 202 [request_size] => 196 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.499 [namelookup_time] => 0.125 [connect_time] => 0.218 [pretransfer_time] => 0.218 [size_upload] => 409 [size_download] => 168 [speed_download] => 336 [speed_upload] => 819 [download_content_length] => 168 [upload_content_length] => 409 [starttransfer_time] => 0.359 [redirect_time] => 0 [redirect_url] => [primary_ip] => 107.191.119.155 [certinfo] => Array ( ) [primary_port] => 80 [local_ip] => 192.168.0.101 [

Does anyone know why my files are not being uploaded via cURL? As I said, this works fine my from my server (non-localhost)

  • XAMPP PHP Installation has cURL enabled
  • I disabled my firewall
4
  • Which PHP version are you on? Commented Jan 23, 2015 at 20:55
  • Currently using PHP 5.3 on both the server and localhost Commented Jan 23, 2015 at 20:56
  • 1
    ok, just making sure it is not: stackoverflow.com/questions/25934128/…, you may check that setting nevertheless Commented Jan 23, 2015 at 20:57
  • what does your phpinfo() have in the cURL section? Commented Jan 23, 2015 at 21:27

2 Answers 2

16

check you php.ini, your apache conf files, restart, and repeat and repeat and repeat...

or if you're having the same problem as me, and know that curl is loaded, but just not executing external requests, try adding this option to your curl

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

This option determines whether curl verifies the authenticity of the peer's certificate

src

The problem is likely caused by having an out-to-date certificate. Especially if you're developing on Windows and use XAMPP or some comparable service, the certificates are not loaded by default. On Linux this is less likely to be required.

For production use, you should fix the root problem instead of allowing this vulnerability to affect your server communication.

Sign up to request clarification or add additional context in comments.

Comments

1

If you're using XAMPP have you checked the php.ini

in the XAMPP installation directory open up %XAMPP_HOME%/php/php.ini file then uncomment the following line extension=php_curl.dll

from

;extension=php_curl.dll

to this

extension=php_curl.dll

if that dll doesn't exist check whether %XAMPP_HOME%/php/ext/php_curl.dll is there if not you can get it online and put it there.

after you're done all that then restart apache

this should be the only hold up on windows with php and cURL

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.