#php #configuration #error-log
#php #конфигурация #журнал ошибок
Вопрос:
Мой журнал ошибок PHP увеличился и занял весь мой диск в Ubuntu. Просматривая содержимое, я вижу цикл из следующих трех строк:
[php7:warn] [pid 19943] [client 41.101.6.110:52722] PHP Warning: feof() expects parameter 1 to be resource, boolean given in /home/amine/app/pdf-download.php on line 33...
[php7:warn] [pid 19943] [client 41.101.6.110:52722] PHP Warning: filesize(): stat failed for /home/amine/app/file.pdf in /home/amine/app/pdf-download.php on line 34...
[php7:warn] [pid 19943] [client 41.101.6.110:52722] PHP Warning: fread() expects parameter 1 to be resource, boolean given in /home/amine/app/pdf-download.php on line 34...
это продолжается вечно.
Причина этого в том, что пользователь веб-сайта нажимает на кнопку, которая компилирует некоторый документ latex в pdf и загружает pdf. Компиляция latex завершилась неудачно, и в результате php-скрипт, похоже, пытается получить файл навсегда.
Я исправил ошибку, которая у меня была, но я обеспокоен тем, что из-за другой ошибки сервер перестанет отвечать на запросы.
Как я могу остановить проблему такого рода?
Спасибо.
Комментарии:
1. опубликуйте свой код, чтобы мы могли вас искать.
Ответ №1:
Журналы важны. И Ubuntu, как и большинство дистрибутивов Linux, действительно, большинство современных операционных систем поставляется с инструментами для управления журналами. В частности, вы должны смотреть на logrotate (введите «man 5 logrotate.conf» в сеансе терминала). Специфика реализации зависит от того, используете ли вы mod_php в Apache или php-fpm.
Я был совершенно уверен, что Ubuntu поставляется со сценарием поворота журнала для php-fpm (и он определенно есть для Apache mod_php), поэтому на вашем компьютере что-то сломано, если оно не автоматически архивирует ваши журналы.