Я недавно обновился до Yosemite и установил Liip 5.5 php-osx пакет.
curl_exec()
быстро возвращается с ошибкой «Ошибка инициализации». то есть echo curl_strerror(curl_errno($ch));
печать Failed initialization
,
Я проверил URL с моей машины, и это нормально. Я воспроизвел ошибку в очень простом сценарии, например:
<?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 установлен, то я получаю ошибку «Ошибка инициализации». Если я удаляю pecl_http, я не делаю. К сожалению, мне нужно использовать и cURL, и pecl_http.
Буду признателен за любую помощь, которую вы можете предложить.
пытаться
$ ldd $(php-config --extension-dir)/{curl,http}.so | grep curl
Убедитесь, что оба связаны с одним и тем же libcurl.
Других решений пока нет …