我最近升级到Yosemite并安装了Liip 5.5 php-osx软件包。
curl_exec()
快速返回“初始化失败”错误。即echo curl_strerror(curl_errno($ch));
打印Failed initialization
。
我已经检查过我机器上的网址了,没关系。我在一个非常基本的脚本中重现了这个错误:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.google.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
所有curl_setopt()
来电都在返回true
。仅在curl_exec()
呼叫后报告失败的初始化错误。
php -v显示:
PHP 5.5.18 (cli) (built: Oct 20 2014 17:14:13)
来自php -i:
Configure Command => […] '--with-curl=shared,/usr/local/php5'
...
cURL support => enabled
cURL Information => 7.37.1
我的系统看起来好像有3个卷曲二进制文件:
我已经尝试将其中的每一个重新命名为其他内容并再次尝试,但无济于事。事实上,同时重命名所有三个也不会影响结果。
我已尝试安装包的5.4和5.6版本,结果相同。
有趣的是......如果安装了pecl_http,那么我会收到“Failed initialization”错误。如果我删除pecl_http,我不会。不幸的是,我需要同时使用cURL和pecl_http。
我很感激您提供的任何帮助。
答案 0 :(得分:0)
试
$ ldd $(php-config --extension-dir)/{curl,http}.so | grep curl
确保两者都链接到同一个libcurl。