Disable error logging in php

How to enable or disable PHP error logging in cPanel

There are certain scenarios when you may be asked to make changes to your PHP configuration. Specifically, you may be directed to edit a file on your server called php.ini, and to enable or disable PHP error logging.

PHP error logging tells whether to log errors. By default, errors are logged in the server’s error_log file.

While do not allow direct changes to PHP.ini on our servers. However, PHP configuration changes can be made from cPanel by following these steps:

2) Look for the SOFTWARE section and click on Select PHP version

The PHP Selector is not included by default in cPanel and might be missing from your account if you are hosting with a different web host. All ChemiCloud customers should see the Select PHP Version section in their hosting account’s cPanel.

cPanel data-lazy-src=

cPanel PHP Options

4) Here you can locate the log_errors and tick on the box next to it to enable it or un-tick the box to disable it.

5) If the change was successful, you will see a green box with a message which will confirm that the change has been applied.

That’s all! Now you know how to enable or disable PHP error logging in cPanel

For further questions, or if you need help, please open a support ticket from your Client Area’s Dashboard.

Источник

Как полностью выключить вывод ошибок в PHP?

У меня вопрос. Чтобы отключить вывод ошибок вообще (если заливаю сайт на прод.), то нужен тот же самый код, только везде значения — 0? Или хватит только одной строчки? Если одной, то какая из них?

Простой 6 комментариев

Konata69lol

Вывод ошибок лучше не выключать. Для прод режима перенаправлять все ошибки на 404 страницу, ошибки писать в лог.

sorry_i_noob

Konata Izumi, спасибо за совет. А как отловить ошибку? Чтобы написать ее в лог. Это ведь не исключение, где можно ведь код, например, обернуть в try и в catch писать лог.

serginhold

В php5 можно по извращаться с register_shutdown_function

slo_nik

Konata69lol

slo_nik

Konata Izumi, ну а почему бы не дополнить совет и не превратить его в полноценный ответ?
Например, показать самый простой способ записать в лог ошибку.

glaphire

ini_set('display_errors', 0); ini_set('display_startup_errors', 0); error_reporting(E_ALL);

sorry_i_noob

glaphire

sorry_i_noob, в документации пишут, что display_startup_errors можно явно не отключать, но что Вам даст экономия на одной строчке против того, что ошибка может показываться пользователю, если на хостинге в php.ini что-то поменяется? У меня такое было при деплое на прод, лучше добавить заранее

FanatPHP

Konata69lol

Вывод ошибок лучше не выключать. Так вы лишите себя зацепок в случае багов на проде.
Для себя вывод подробностей ошибок перенаправляем в лог (файл/бд/другое хранилище).

Пользователю не нужно показывать подробности ошибок (стектрейс). Достаточно отобразить страницу с кратким описанием (понятным пользователю) ошибки, например «404 Не найдено то-то» или «500 Ошибка сервера».

Еще вариант — средиректить пользователя на главную страницу и флеш сообщением вывести краткое описание ошибки.

Acuna

Я бы не рекомендовал затыкать вывод ошибок полностью, это bad practice. Пишу на PHP уже лет 10, и только недавно установил уровень E_ALL, исправление всех ошибок заняло где-то неделю, но сейчас я нарадоваться не могу, ибо ругается даже на отсутствие ключей в массиве (ибо в большинстве случаев если обращаются к какому-либо ключу, он должен быть в массиве, а его отсутствие — следствие какой-то проблемы). Об отсутствии какой-либо переменной я и вовсе не говорю. Для юзера достаточно просто подавить вывод ошибок (ибо сайт не будет работать только при E_FATAL и E_COMPILE, когда вообще не получается получить байткод), а для разрабов ошибки можно писать хоть в текстовый файл, используя собственный обработчик set_error_handler ().

Источник

Как включить вывод ошибок PHP

Хостинг-провайдеры нередко отключают или блокируют вывод всех ошибок и предупреждений. Такие ограничения вводятся не просто так. Дело в том, что на рабочих серверах крайне не рекомендуется держать ошибки в открытом доступе. Информация о неисправностях может стать «наживкой» для злоумышленников.

При этом в процессе разработки сайтов и скриптов, очень важно отслеживать возникающие предупреждения. Знать о сбоях и неисправностях также важно и системным администраторам — это позволяет предотвратить проблемы на сайте или сервере.

Самый оптимальный вариант — не просто скрыть показ ошибок, но и настроить запись о них в логах. Это позволит отслеживать предупреждения и не подвергать сервер угрозе.

В статье мы расскажем, как включить и отключить через .htaccess вывод ошибок php, а также двумя другими способами — через скрипт PHP и через файл php.ini.

Обратите внимание: в некоторых случаях изменение настроек вывода возможно только через обращение в техническую поддержку хостинга.

Через .htaccess

Перейдите в каталог сайта и откройте файл .htaccess.

Вариант 1. Чтобы включить вывод, добавьте следующие строки:

php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on

Чтобы отключить ошибки PHP htaccess, введите команду:

php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off

Также выключить .htaccess display errors можно командой:

php_flag display_startup_errors off php_flag display_errors off php_flag html_errors off php_value docref_root 0 php_value docref_ext 0

Через логи PHP

Если вам нужно проверить или выключить ошибки только в определенных файлах, это можно сделать с помощью вызова PHP-функций.

Вариант 1. Чтобы включить вывод, используйте команду error_reporting. В зависимости от типа ошибок, которые вы хотите увидеть, подставьте нужное значение. Например, команда для вывода всех ошибок будет выглядеть так:

А для всех типов, исключая тип Notice, так:

error_reporting(E_ALL & ~E_NOTICE)

Чтобы отключить вывод, введите команду:

Чтобы отключить логирование повторяющихся ошибок, введите:

# disable repeated error logging php_flag ignore_repeated_errors on php_flag ignore_repeated_source on

Вариант 2. Чтобы проверить конкретный кусок кода, подойдет команда ниже. В зависимости от типа ошибок, которые вы хотите увидеть, в скобках подставьте нужное значение. Например, команда для вывода всех ошибок будет выглядеть так:

ini_set('display_errors', 'On') error_reporting(E_ALL)

После этого в консоли введите:

ini_set('display_errors', 'Off')

Вариант 3. Ещё один из вариантов подключения через скрипт:

php_flag display_startup_errors on php_flag display_errors on
php_flag display_startup_errors off php_flag display_errors off

Вариант 4. Чтобы настроить вывод с логированием через конфигурацию веб-сервера, введите:

  • для Apache — ErrorLog «/var/log/apache2/my-website-error.log» ,
  • для Nginx — error_log /var/log/nginx/my-website-error.log .

Подробнее о других аргументах читайте в документации на официальном сайте php.net.

Через файл php.ini

Настроить отслеживание также можно через файл php.ini. Этот вариант подойдет, когда отображение или скрытие ошибок нужно настроить для всего сайта или кода. Обратите внимание: возможность настройки через файл php.ini есть не у всех, поскольку некоторые хостинг-провайдеры частично или полностью закрывают доступ к файлу.

Вариант 1. Если у вас есть доступ, включить вывод можно командой:

После этого нужно перезагрузить сервер:

sudo apachectl -k graceful

Вариант 2. Чтобы включить вывод, используйте команду error_reporting. В зависимости от типа ошибок, которые вы хотите увидеть, после знака = подставьте нужное значение. Например, команда для вывода всех ошибок будет выглядеть так:

error_reporting = E_ALL display_errors On

После ввода перезагрузите сервер:

sudo apachectl -k graceful

Чтобы скрыть отображение, во второй строке команды укажите Оff вместо On:

Теперь вы знаете, как настроить не только через PHP и php.ini, но и через htaccess отображение ошибок.

Источник

How to enable and disable PHP error logging using an .htaccess file

This article describes how to configure PHP error logging by using the log_errors and error_log directives in an .htaccess file.

The information in this article only applies to certain types of hosting accounts. To determine whether or not the information below applies to your account, please see this article.

This article assumes that you have already set up a custom .htaccess file. If you have not already set up a custom .htaccess file, please read this article first.

Enabling error logging

You can use the log_errors and error_log directives to configure PHP error logging. To do this, follow these steps:

  1. Log in to your account using SSH.
  2. Use a text editor to add the following lines to the .htaccess file. Replace path with the path to the log file, and replace filename with the log filename:
php_flag log_errors On php_value error_log /path/filename 

Disabling error logging

To disable error logging, modify the log_errors line in the .htaccess file as follows:

More Information

  • To view a complete list of PHP directives, please visit https://secure.php.net/manual/en/ini.list.php.
  • For more information about the log_errors directive, please visit https://secure.php.net/manual/en/errorfunc.configuration.php#ini.log-errors.
  • For more information about the error_log directive, please visit https://secure.php.net/manual/en/errorfunc.configuration.php#ini.error-log.

Article Details

Источник

How to enable and disable PHP error logging using an .htaccess file

This article describes how to configure PHP error logging by using the log_errors and error_log directives in an .htaccess file.

The information in this article only applies to certain types of hosting accounts. To determine whether or not the information below applies to your account, please see this article.

This article assumes that you have already set up a custom .htaccess file. If you have not already set up a custom .htaccess file, please read this article first.

Enabling error logging

You can use the log_errors and error_log directives to configure PHP error logging. To do this, follow these steps:

  1. Log in to your account using SSH.
  2. Use a text editor to add the following lines to the .htaccess file. Replace path with the path to the log file, and replace filename with the log filename:
php_flag log_errors On php_value error_log /path/filename 

Disabling error logging

To disable error logging, modify the log_errors line in the .htaccess file as follows:

More Information

  • To view a complete list of PHP directives, please visit https://secure.php.net/manual/en/ini.list.php.
  • For more information about the log_errors directive, please visit https://secure.php.net/manual/en/errorfunc.configuration.php#ini.log-errors.
  • For more information about the error_log directive, please visit https://secure.php.net/manual/en/errorfunc.configuration.php#ini.error-log.

Article Details

Источник

Читайте также:  Table colspan with css
Оцените статью