Ошибки PHP не отображаются в браузере [Ubuntu 10.10]
Я новичок в PHP и весь стек LAMP, но мне удалось его запустить и запустить в моей системе Ubuntu 10.10. Кажется, что все работает, за исключением перепрошивки ошибок в браузере, который я просто не могу заставить работать (и с которым я не могу работать без!).
Я прочитал ряд статей и других потоков, которые указывают, что в файле /etc/php5/apache2/php.ini
должны быть применены следующие значения:
-
display_errors = On
-
display_startup_errors = On
Я перезапустил apache2 и даже перезапустил компьютер, но для жизни меня просто не могу заставить его работать. Я даже попробовал использовать функцию phpinfo()
, которая сообщает, что эти параметры установлены так, как я их установил, поэтому я знаю, что он подбирает правильный файл конфигурации, но ничего!
Любая помощь будет приветствоваться.
Ответы
Ответ 1
Не просто включить первое вхождение display_errors
в файле php.ini. Убедитесь, что вы прокрутите страницу до "реальной" настройки и измените ее с Off
на On
.
Дело в том, что если вы соглашаетесь с изменением (например, uncomment + add = On
) самым первым вхождением display_errors
, ваши изменения будут перезаписаны где-то в строке 480, где он снова устанавливается на Off
.
Ответ 2
У меня была та же проблема - она была решена, установив display_errors = On
в оба файла php.ini
.
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
Затем перезапустите Apache:
sudo /etc/init.d/apache2 restart
Надеюсь, что это поможет.
Ответ 3
Чтобы сделать это, вы должны изменить следующие переменные в вашем php.ini:
; display_errors
; Default Value: On
; Development Value: On
; Production Value: Off
; display_startup_errors
; Default Value: On
; Development Value: On
; Production Value: Off
; error_reporting
; Default Value: E_ALL & ~E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ~E_DEPRECATED
; html_errors
; Default Value: On
; Development Value: On
; Production value: Off
; log_errors
; Default Value: On
; Development Value: On
; Production Value: On
Найдите их, как они уже определены, и введите нужное значение.
Затем перезапустите сервер apache2, и все будет работать нормально. Удачи!
Ответ 4
После редактирования /etc/php 5/apache2/php.ini обязательно перезапустите apache.
Вы можете сделать это, выполнив:
sudo service apache2 restart
Ответ 5
Если у вас есть локальные значения, переопределяющие основные значения, вы не будете изменять его значения в php.ini
найдите эти переменные в .htaccess или в файле конфигурации виртуального хоста.
...
php_admin_value display_errors On
php_admin_value error_reporting E_ALL
</VirtualHost>
Если вы редактируете vhost, перезапустите apache,
$ sudo service apache2 restart
.htaccess для редактирования не требуется перезапуск apache
Ответ 6
- Сначала вам нужно найти путь к файлу php.ini
- Вы найдете файл по указанному пути /etc/php/7.0/apache2/. Если вы изменяете значения в папке CLI или в папке CGI, это не сработает.
- Внесите следующие изменения.
display_errors = On
- Перезапустите сервер Apache
/etc/init.d/apache2 restart
Ответ 7
Посмотрите директиву error_reporting в php.ini.
Ответ 8
Используйте функцию phpinfo();
, чтобы увидеть таблицу настроек в вашем браузере и найти
Путь к файлу конфигурации (php.ini)
и отредактируйте этот файл. Ваш компьютер может иметь несколько файлов php.ini, вы хотите отредактировать правильный.
Также проверьте display_errors = On
, html_errors = On
и error_reporting = E_ALL
внутри этого файла
Перезапустите Apache.
Ответ 9
Я просто застрял в той же проблеме, когда понял, что я использую открытую короткую форму тега:
<? echo 'nothing will be print if no open_short_tag option is enabled'; ?>
Вам нужно перейти в файл /etc/apache2/php.ini
и установить short_open_tag = Off
в On
, затем sudo service apache2 restart
!
Ура!
Ответ 10
Попробуйте добавить log_errors = Off и проверьте параметр error_reporting, установлен ли он достаточно высоким.
Ответ 11
он должен перекрываться, поэтому он отключается. Попробуйте открыть в текстовом редакторе и найти display_errors
и включить его. Это работает для меня