Как я выключаю Уведомления PHP?

Notice: Constant DIR_FS_CATALOG already defined

Я уже прокомментировал display_errors в php.ini, но не работает.

Как я делаю PHP для не вывода таких вещей к браузерам?

ОБНОВЛЕНИЕ

Я поместил display_errors = Off там, но это все еще сообщает о таких уведомлениях,

Действительно ли это - проблема с PHP 5.3?

Создание отчетов о многочисленном Стеке вызовов также..

114
задан Charles 20 February 2014 в 23:23
поделиться

7 ответов

Вы можете установить display_errors на 0 или использовать функцию error_reporting () .

Однако уведомления раздражают (я могу отчасти посочувствовать ), но они служат определенной цели. Вы не должны определять константу дважды, второй раз не сработает, и константа останется неизменной!

75
ответ дан 24 November 2019 в 02:28
поделиться

Я считаю, что комментирование display_errors в php.ini не сработает, потому что по умолчанию включено. Вместо этого вы должны установить для него значение «Выкл.».

Не забудьте перезапустить Apache, чтобы изменения конфигурации вступили в силу.

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

Как отмечали другие, в идеале во время разработки вы должны работать с error_reporting на максимально возможном уровне и включенным display_errors. Эти ошибки, предупреждения, уведомления и строгие советы по кодированию, которые раздражают, когда вы только начинаете, складываются и позволяют вам стать лучшим кодировщиком.

0
ответ дан 24 November 2019 в 02:28
поделиться

Вы можете проверить, определена ли уже константа, используя:

<?php
if (!defined('MYCONST'))
    define('MYCONST', 'Weeha!');
?>
0
ответ дан 24 November 2019 в 02:28
поделиться

Вы можете установить ini_set ('display_errors', 0); в своем скрипте или определить, какие ошибки вы хотите отображать, с помощью error_reporting () .

3
ответ дан 24 November 2019 в 02:28
поделиться

Я обнаружил этот трюк недавно. Врежуйте @ в начале строки, которая может привести к предупреждению/ошибке.

Словно по волшебству, они рассеиваются.

0
ответ дан 24 November 2019 в 02:28
поделиться

Из документации PHP ( error_reporting ):

<?php
// Turn off all error reporting
error_reporting(0);
?>

Другие интересные параметры для этой функции:

<?php

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL & ~E_NOTICE);
// For PHP < 5.3 use: E_ALL ^ E_NOTICE

// Report all PHP errors (see changelog)
error_reporting(E_ALL);

// Report all PHP errors
error_reporting(-1);

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

?>
227
ответ дан 24 November 2019 в 02:28
поделиться

не вызывая ошибок:

defined('DIR_FS_CATALOG') || define('DIR_FS_CATALOG', 'whatever');

Если это действительно необходимо, измените отчет об ошибках с помощью error_reporting() на E_ALL^E_NOTICE.

3
ответ дан 24 November 2019 в 02:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: