Предупреждения PHP не регистрируются?

2543
Joseph

Я пытаюсь отследить сценарий и обнаружил, что моя проблема исходит от httpd. Подводя итог этой публикации, кто-то пытается подключиться к веб-сайту и [правильно] блокируется брандмауэром сервера. В моем тестовом сценарии при попытке подключения к веб-сайту истекает время и генерируется предупреждение PHP на странице:

Warning: file_get_contents(http://foobar.com) [function.file-get-contents.html]: failed to open stream: Connection timed out in /home/foo/bar.php on line 3 

Этот сервер работает с cPanel, поэтому я использовал редактор конфигурации cPanel для установки error_log на /var/log/php-scripts.log и error_reporting на E_ALL. Однако предупреждение из моего тестового примера не отображается в /var/log/php-scripts.log (хотя журнал заполняется некоторыми предупреждениями при запуске PHP).

Кто-нибудь может указать мне правильное направление относительно того, почему предупреждение в моем тестовом сценарии не регистрируется? Я полагаю, что если я смогу получить предупреждение о тайм-ауте в моем тестовом скрипте для регистрации, тогда предупреждение о тайм-ауте в вредоносном скрипте также будет зарегистрировано, и я смогу найти, где скрывается этот скрипт.

Спасибо!

0
Вы проверили журнал веб-серверов? Он (обычно?) Не регистрируется там же, где и ошибки php. Nifle 14 лет назад 0
Не повезло в журнале ошибок httpd. Joseph 14 лет назад 0

1 ответ на вопрос

1
BloodPhilia

Убедитесь, что в вашем php.iniфайле включена регистрация ошибок. Следующая строка должна быть включена:

error_log = /var/log/php-scripts.log 

Вы также можете установить его

error_log = syslog 

записывать все ошибки в системный журнал. После добавления строки в ваш php.iniфайл перезапустите httpd примерно так

$ sudo /etc/init.d/httpd restart 

cPanel может делать это неправильно.

Похожие вопросы