Я пытаюсь отследить сценарий и обнаружил, что моя проблема исходит от 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).

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

Спасибо!

1 ответ1

1

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

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

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

error_log = syslog

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

$ sudo /etc/init.d/httpd restart

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .