Ошибка скручивания 52 Пустой ответ с сервера - PullRequest
62 голосов
/ 17 декабря 2009

У меня есть настройка задания cron на одном сервере для запуска скрипта резервного копирования на PHP, который размещен на другом сервере. Команда, которую я использовал, имеет следующий формат:

curl -sS http://www.example.com/backup.php

В последнее время я получаю эту ошибку, когда Cron запускается

curl: (52) Empty reply from server

Понятия не имею, что это значит. Если перейти по ссылке прямо в браузере, сценарий будет работать нормально, и я получу свой небольшой резервный zip-файл.

Может ли кто-нибудь предоставить информацию об этом?

Ответы [ 13 ]

0 голосов
/ 15 июня 2019

В моем случае я использовал uwsgi, добавил свойство http-timeout более 60 секунд, но оно не работало из-за некоторого дополнительного пространства и файл конфигурации не загружался должным образом.

0 голосов
/ 10 мая 2019

В моем случае (curl 7.47.0) это потому, что я вручную установил заголовок content-length для команды curl со значением, которое вычисляется почтальоном (я использовал почтальон для генерации параметров команды curl и копирования их в оболочку) , После удаления заголовка content-length он работает нормально.

0 голосов
/ 07 сентября 2016

Попробуйте this -> Вместо того, чтобы проходить через cURL, попробуйте пропинговать сайт, к которому вы пытаетесь обратиться с помощью Telnet. Ответ, который возвращает ваша попытка подключения, будет именно тем, что видит cURL при попытке подключения (но который бесполезно запутывает вас). Теперь, в зависимости от того, что вы видите здесь, вы можете сделать один из нескольких выводов:

Вы пытаетесь подключиться к веб-сайту, который является виртуальным хостом на основе имени, то есть он не может быть доступен через IP-адрес. Что-то пошло не так с именем хоста - возможно, вы что-то опечатали. Обратите внимание, что использование GET вместо POST для параметров даст вам более конкретный ответ.

Проблема также может быть связана с заголовком 100-continue. Попробуйте запустить curl_getinfo($ch, CURLINFO_HTTP_CODE) и проверьте результат.

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