4

我将php版本从5.4升级到5.5。升级 php curl_exec 函数后开始返回false。php 5.5 中的 curl 选项有什么变化吗?我在文档中找不到任何东西。

        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_POST, 1 ); 
        curl_setopt( $ch, CURLOPT_HEADER, 0 ); 
        curl_setopt( $ch, CURLOPT_URL, self::URL ); 
        curl_setopt( $ch, CURLOPT_POSTFIELDS, $postData );
        curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );  
        curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt( $ch, CURLOPT_TIMEOUT, 90 );
        $data = curl_exec( $ch );

PHP版本: 5.5.14-2

注意:我在 Vagrant Box 上收到此错误

4

1 回答 1

1

我最近也进行了类似的 php 升级,也是在一个 vagrant box 上,当我在这里尝试时,上面的代码片段似乎可以正常工作。

而不是升级后 curl 的问题,升级是否可能对进入 curl 的数据产生影响?无论是方式self::URL还是$postData构建 - 它们是否仍然包含您期望看到的数据?

如果这些变量仍在按您的预期填充,那么您可以从 curl 本身获取更多信息,了解在curl_exec使用过程中出了什么问题curl_getinfocurl_errno并且curl_error

$ch = curl_init();
...
$data = curl_exec( $ch );
if (!$data) {
    echo curl_getinfo( $ch ) . "\n";
    echo curl_errno( $ch ) . "\n";
    echo curl_error( $ch ) . "\n";
}

这些行应该为您提供自升级以来出现的问题的更详细报告。

于 2014-09-13T13:32:54.760 回答