Вы не можете исправить ошибку, если Вы не знаете, в чем она заключается. Хотите
верьте, хотите нет, но быть оповещенным об ошибках это замечательно, иначе у вас бу-
дет проблема, без сведений об этой проблеме. PHP обеспечивает несколько способов ин-
формирования об ошибках, которые могут появиться в ваших скриптах. Есть несколько
директив, с которыми вы можете поиграть в файле php.ini, которые отвечают за оповеще-
ние об ошибках.
Установки в php.ini влияют на ВСЕ PHP скрипты, запущенные на сервере, не толь-
ко ваши. Все директивы документированы, дабы помочь вам в их использовании (смот-
рите документацию PHP). Там есть, разумеется и директива error_reporting, а есть так же
и display_error, log_error и error_log. display_error просто указывает, выводить или нет со-
общения об ошибках на экран и обычно установлен в false на "боевых" серверах. Вместо
этого, сообщения об ошибках могут быть вынесены в специальный файл лога, установ-
кой директив log_errors и error_log.
Скрипт
Если у вас нет доступа к файлу php.ini вашего сервера - не спешите паниковать. У
вас всё еще остается возможность некоторого контроля надо сообщениями об ошибках.
Простейший способ убедиться, что вы можете видеть все сообщения об ошибках в вашем
конкретном скрипте - не подавлять их с помощью "@".
Если вам ну очень нужно использовать "@" - добавляйте их ПОСЛЕ отлаживания и
тестирования вашего скрипта. После этого, установите error_reporting() вашего скрипта в
E_ALL (или E_ALL | E_STRICT для PHP5). Мы можем использовать следущий пример в
нашем коде для перенаправления всех ошибок в logfile вне директории доступной для
веб-сервера, когда мы начинаем производственную экспулатацию:
<?php
error_reporting(E_ALL | E_STRICT);
ini_set("display_errors", False);
ini_set("log_errors", True);
ini_set("error_log", "../outside/of/web/root/error_log.txt");
?>
верьте, хотите нет, но быть оповещенным об ошибках это замечательно, иначе у вас бу-
дет проблема, без сведений об этой проблеме. PHP обеспечивает несколько способов ин-
формирования об ошибках, которые могут появиться в ваших скриптах. Есть несколько
директив, с которыми вы можете поиграть в файле php.ini, которые отвечают за оповеще-
ние об ошибках.
Установки в php.ini влияют на ВСЕ PHP скрипты, запущенные на сервере, не толь-
ко ваши. Все директивы документированы, дабы помочь вам в их использовании (смот-
рите документацию PHP). Там есть, разумеется и директива error_reporting, а есть так же
и display_error, log_error и error_log. display_error просто указывает, выводить или нет со-
общения об ошибках на экран и обычно установлен в false на "боевых" серверах. Вместо
этого, сообщения об ошибках могут быть вынесены в специальный файл лога, установ-
кой директив log_errors и error_log.
Скрипт
Если у вас нет доступа к файлу php.ini вашего сервера - не спешите паниковать. У
вас всё еще остается возможность некоторого контроля надо сообщениями об ошибках.
Простейший способ убедиться, что вы можете видеть все сообщения об ошибках в вашем
конкретном скрипте - не подавлять их с помощью "@".
Если вам ну очень нужно использовать "@" - добавляйте их ПОСЛЕ отлаживания и
тестирования вашего скрипта. После этого, установите error_reporting() вашего скрипта в
E_ALL (или E_ALL | E_STRICT для PHP5). Мы можем использовать следущий пример в
нашем коде для перенаправления всех ошибок в logfile вне директории доступной для
веб-сервера, когда мы начинаем производственную экспулатацию:
<?php
error_reporting(E_ALL | E_STRICT);
ini_set("display_errors", False);
ini_set("log_errors", True);
ini_set("error_log", "../outside/of/web/root/error_log.txt");
?>