PHP. Хочу видеть ошибки!!


 Хочу что-то типа такого
Ну что ты поделаешь, иногда на стадии разработки я пишу неправильный код! Хоть тресни. И ещё я хочу видеть нормальные сообщения об ошибках, а не пустой экран!

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

Но на этапе разработки сообщения об ошибках просто необходимы. И не всегда у хостера можно найти быструю возможность изменить ситуацию. Как можно изменить ситуацию?

Я немного погуглил и вот что нашёл:

1. Нужно установить уровень вывода сообщений в E_ALL

Пример кода:

error_reporting(E_ALL);

Подробнее об уровнях вывода ошибок и фунцкии error_reporting читать здесь.

2. Установить параметр display_errors=on

Этот параметр устанавливается в php.ini, и если есть возможность — то нужно исправить этот файл.

А если такой возможности нет? Тогда нужно использовать функцию ini_set:

ini_set('display_errors', 1); 

Вместо резюме

Можно свести эти две строчки в один блок

error_reporting(E_ALL);
ini_set('display_errors', 1); 

Ставить эти строчки следует во все страницы, на которых могут быть ошибки, а на этапе разработки это все страницы. Вместо вставки этого кода в каждую страницу можно попробовать подыскать некий общий файл включаемый во все страницы. Например для CodeIgniter это /index.php

И всё работает как надо =)

Разумеется, после окончания разработок эти строчки следует убрать.

PHP. Хочу видеть ошибки!!: 7 комментариев

  1. altesack Автор записи

    Всмысле пишу непонятно и заумно?

  2. zeleboba

    @ Dandr:
    да нет, полезная штука. Я и сам такое использую, потому что иногда делаешь что-то и никак не понять, почему оно не работает, как нужно.

  3. Dandr

    @ zeleboba, угу, сам сегодня с таким столкнулся. Кстати, в денвере, которым ты тоже пользуешься.

  4. igrok54

    Для вывода ошибок можно прописать в .htaccess строку:
    php_flag display_errors On

    Ошибки будут выводиться без указанных строк в php-файлах — кстати, через .htaccess надежнее работает.

  5. altesack Автор записи

    Хм..Нужно будет как-нибудь попробовать.

Комментарии запрещены.