RE: php-fpm doesn't run php-curl curl_exec() succesfully

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello! 

Use "curl_error" to debug CURL-related errors: https://www.php.net/manual/en/function.curl-error.php

Best regards,
Janis


No: kurt thepw.com <kurt@xxxxxxxxx>
Nosūtīts: svētdiena, 2024. gada 7. janvāris 05:46
Kam: php-general@xxxxxxxxxxxxx <php-general@xxxxxxxxxxxxx>
Tēma: php-fpm doesn't run php-curl curl_exec() succesfully
 
Hello,
    This php script (with the real URL & credentials put back in) runs successfully from the command-line. It uses php_curl to retrieve JSON-formatted data, converts the result to an associative array, and displays one of the entries and the length of the retrieved JSON data:

==========
#!/usr/bin/php
<?php
$url = "">
$user = "<user>";
$pass = "<pw>";

$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, $user.":".$pass);
curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
//curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json'));

$result = curl_exec($curl);
$resultlen = strlen($result);

curl_close($curl);

$r_ary = array();
$r_ary = json_decode( $result , true , 512 , JSON_OBJECT_AS_ARRAY );
$st = 'status';
$status = $r_ary[$st];

echo "<!doctype html>";
echo "<html>";
echo "<body>";
   echo "Length: $resultlen";
   echo "Status: $status";
echo "</body>";
echo "</html>";
?>
==========

But if I remove the first line, put the result in the same computer's  HTML document root and try to access via a web browser, it retrieves zero bytes. It seems the curl_exec() doesn't retrieve anything. I get the following in /var/log/php-fpm/www-error.log:

PHP Warning:  Trying to access array offset on value of type null in /var/www/html/test.php on line 25

I'm running Centos stream 9, with apache2.4 configured for php-fpm. The command-line PHP is 8.0.30. It seems like php-fpm has different behavior with the various curl_xxxx() functions, even partial broken-ness, when compared to commandline PHP 

Any help would be much appreciated.

Yours,

Kurt Reimer
Use

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux