Прекратить печать сообщений об ошибках php в браузер - PullRequest
10 голосов
/ 19 января 2012

Я использую PHP 5.3, CentOS 6.2, httpd 2.2.15, NetBeans 7.0.1 (работает удаленно через ftp).

Я хочу прекратить печатать сообщения об ошибках в браузере, достаточно, чтобы он печатал в error_log httpd.

Я подумал, что, попробовав / поймай, я сам решу, как обработать ошибку, но она все равно печатается в error_log и браузере.

function smic_gettext($phrase){

        try{
            $tr_text = $this->language_array[$phrase];

        } catch(Exception $e){
            error_log("Couldn't find any entry in the translation file for ".$phrase.". ".$e);
            return $phrase;

        }

        return $tr_text;
    } 

Как мне настроить, чтобы остановить это поведение?

Я попытался установить display_errors = Off и display_errors = 0 в php.ini.Нет разницы (я перезапустил httpd).

Ответы [ 8 ]

11 голосов
/ 19 января 2012
display_errors = Off

в php.ini позволит вам хранить ошибки в системном журнале, но ничего не записывать в браузер.

8 голосов
/ 19 января 2012

Вам нужно изменить настройку php.ini display_errors на off или 0. Вы можете сделать это в вашем текущем файле php.ini, с помощью файла .htaccess, или вызвав его в начале скрипта:

ini_set('display_errors', '0');
7 голосов
/ 19 января 2012

Вне зависимости от того, отправляются ли в браузер ошибки PHP, определяется настройкой php.ini: display_errors. Установите значение Off, чтобы избежать вывода. Этот файл обычно находится под /etc/php.ini или /etc/php5/php.ini

5 голосов
/ 19 января 2012

Попробуйте добавить следующее в начало вашего скрипта:

ini_set('display_errors',0);

Это должно установить отсутствие сообщений об ошибках и переопределить настройки сервера php.ini (которые иногда игнорируют ваш error_reporting (0))

2 голосов
/ 10 октября 2017

Если ошибка появляется только в одной строке, можно предотвратить отображение ошибки, добавив знак @ в начало этой строки.

@ YOUR_CUSTOM_COMMAND

Пример:

@file_get_contents('custom_file.txt');
1 голос
/ 19 января 2012

См. display_errors Директива

http://www.php.net/manual/en/errorfunc.configuration.php

0 голосов
/ 23 мая 2016

FWIW, в то время как display_errors = off - это правильная строка файла конфигурации, как говорили другие, в DreamHost (и, возможно, в других установках), он идет в

$HOME/.php/phprc

, а не вphp.ini (который также может работать, но DreamHost - и, возможно, другие - поддерживает phprc).

0 голосов
/ 19 января 2012

Если вы хотите скрыть ошибки и предупреждения, вы также можете установить обработчик ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...