Тайм-аут PHP cURL не работает - PullRequest
5 голосов
/ 30 января 2012

У меня проблема с сервером.Я использую локальный сервер (для разработки), и я изменил свой локальный сервер с MAMP на XAMPP.Однако на XAMPP опция cURL CURLOPT_TIMEOUT_MS или CURLOPT_CONNECTTIMEOUT_MS выдает мне следующую ошибку:

Предупреждение: curl_setopt () ожидает, что параметр 2 будет длинным, строка будет иметь

Это из-за версии PHP или cURL?Может быть, настройки конфигурации?

curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT_MS, 2500);

Дополнительная информация:

  • OSX 10.6.8
  • PHP 5.3.1
  • cURL 7.19.7

Заранее спасибо.


Редактировать: Кажется, есть некоторая путаница в отношении ошибки и устанавливаемой переменной.В сообщении об ошибке указывается, что параметр 2 недействителен.Не параметр 3 .Так что, похоже, проблема CURLOPT_CONNECTTIMEOUT_MS.

curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT_MS, 2500);
            ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^
parameter:     #1                 #2               #3

Забавный факт: var_dump(CURLOPT_CONNECTTIMEOUT_MS); отображает string(25) "CURLOPT_CONNECTTIMEOUT_MS".Как и в случае ошибки, это строка вместо числа с плавающей запятой.

Ответы [ 2 ]

8 голосов
/ 10 апреля 2012

У меня была такая же проблема, и это решило ее для меня. Просто добавьте эту строку в начало вашего скрипта. Он определяет отсутствующую константу, только если она еще не определена.

если (! Определено (CURLOPT_CONNECTTIMEOUT_MS)) определить ('CURLOPT_CONNECTTIMEOUT_MS', 156);

8 голосов
/ 30 января 2012

По какой-то причине CURLOPT_CONNECTTIMEOUT_MS неправильно определено в вашей версии PHP.Я бы проверил с любым дистрибутивом PHP, который вы используете, и выяснил, является ли это общей ошибкой.

Правильное значение 156: вы должны использовать это вместо:

curl_setopt($this->ch, /*CURLOPT_CONNECTTIMEOUT_MS */ 156, 2500);

Обратите внимание, что действительно действительно необходимо добавить комментарии, объясняющие, почему вы это делаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...