ошибка в php, не регистрирующемся или отображающемся

Нам, возможно, понадобился бы тег "религиозная война" хе-хе-хе

Вам просто нужен доступ к RAM? Ядро PAE могло бы отвечать всем требованиям (Linux).

Полный ответ: Каждая ОС + Аппаратная платформа имеет свои достоинства и недостатки. Используйте инструмент, который работает лучше всего на задачу под рукой. Проведите время, оценивая каждую платформу и дайте ее, несмещенный список совпадений "должен имущие". Явный победитель появится.

0
задан 20 November 2011 в 03:33
4 ответа

Это походит на display_errors, или error_reporting были переопределены чем-то еще.

Это произошло со мной приложением, которое изменяет error_reporting позже в начальной загрузке, которую я не видел.

Хорошая практика должна искать error_reporting в рамках приложения и видеть, что это изменяется где-нибудь.

0
ответ дан 4 December 2019 в 11:37

Я вижу несколько возможных решений вашей проблемы. Вот наиболее частые проблемы, с которыми вы столкнетесь:

  • В вашем примере вы используете # @ $% $ , чтобы вызвать ошибку. Однако PHP обрабатывает любую строку, начинающуюся с хеша, как комментарий, поэтому эта строка никогда не будет оцениваться, поэтому она никогда не вызовет состояние ошибки.
  • Есть 2 разных файла php.ini , которые вы следует знать; один для Apache и один для PHP CLI. Убедитесь, что тот, который вы отредактировали, предназначен для Apache, если ваш скрипт вызывается из веб-браузера. Каталог, в котором находится этот файл, будет отличаться от дистрибутива к дистрибутиву, но путь по умолчанию обычно немного отличается от /etc/php/apache/php.ini
  • Вы должны перезапустить Apache после внесения изменений в php. ini или отправьте сигнал SIGHUP в Apache, чтобы принудительно перечитать файл конфигурации.
  • Переменные конфигурации error_reporting и log_errors могут быть перезаписаны локально в файле vhost Apache или даже в самом сценарии PHP. Убедитесь, что конфигурация сервера по умолчанию не перезаписывает эти переменные локально в конфигурации Apache для используемого вами виртуального хоста.
  • Разрешения вашего файла /var/log/php.log должны быть записывается Apache. Обычно безопасно установить владельцем этого файла пользователя Apache в вашей системе (пользователь Apache обычно либо www-data , либо apache ).
6
ответ дан 4 December 2019 в 11:37

Раньше, В двух случаях у меня не было журналов ошибок:

  1. Пользователь, под которым работал Apache, не имел права изменять файл php_error_log.
  2. Ошибка 500 возникла из-за плохой конфигурации .htaccess, например, неправильных настроек модуля перезаписи. В этой ситуации ошибки протоколируются в файл Apache error_log.
1
ответ дан 4 December 2019 в 11:37

Моя проблема была в том, что apache не только не мог писать в лог-файлы, но и не мог писать в каталог /var/log/httpd.

Мое исправление?

php.ini error_log = /var/log/httpd/php-error.log

chmod 777 /var/log кстати, chmod 777 /var/log/httpd

Я запустил CentOS 6. Должен быть лучший способ, чем chmod'ing ваш лог и httpd папку на 777, но это был единственный способ заставить его работать. Вы могли бы добавить apache в корневую группу, что было бы плохой идеей.

.
-2
ответ дан 4 December 2019 в 11:37

Теги

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