У меня есть следующий простой PHP-скрипт, который использует cURL для загрузки веб-страницы и отображения на ней
<?php $ch = curl_init("http://www.reddit.com/"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); $content = "Hello, World!"; $content = curl_exec($ch); curl_close($ch); echo $content; ?>
На моей локальной машине он работает отлично, но не на моем сервере. Здесь я получаю сообщение об ошибке «Соединение было сброшено» в Firefox. Линия, вызывающая проблемы, кажется $content = curl_exec($ch);
, Если я прокомментирую эту строку, я увижу Hello, World!
на обеих машинах.
При вызове phpinfo()
на обеих машинах секция cURL
выглядит довольно похоже. Что может быть проблемой здесь, что он работает на одной машине, но не на другой. В основном, оба запускают Ubuntu 14.04, с Apache 2 и PHP 5. Какие конфигурации или разрешения могут отличаться. Я немного в недоумении, где искать.
EDIT: Как предложил arkascha, я проверил файл Apache error.log
. И действительно, если я вижу следующую ошибку, как только выполняю команду curl_exec
:
[core:notice] [pid 28267] AH00051: child pid 28274 exit signal Segmentation fault (11), possible coredump in /etc/apache2