Подтвердить что ты не робот

Как отключить E_STRICT

Мне нужно отключить E_STRICT. У меня есть error_reporting = E_ALL и ~ E_STRICT в моем php.ini, но, похоже, это игнорируется. Я пробовал это в своем коде:

ini_set('error_reporting', E_NOTICE);

Ничего!

Пожалуйста, помогите.

4b9b3361

Ответ 1

попробуйте это.

error_reporting(E_ALL ^ E_STRICT);

Сообщается обо всех ошибках, кроме E_STRICT

Ответ 2

Если у вас есть собственный обработчик ошибок (найдите свой код для set_error_handler), тогда значение конфигурации error_reporting будет проигнорировано:

Важно помнить, что стандартный обработчик ошибок PHP полностью обойден для типов ошибок, указанных error_types, если функция обратного вызова не возвращает FALSE. Параметры error_reporting() не будут иметь эффекта, и ваш обработчик ошибок будет вызываться независимо - однако вы все еще можете прочитать текущее значение error_reporting и действовать соответствующим образом. Особо следует отметить, что это значение будет равно 0, если оператор, вызвавший ошибку, был добавлен оператором @error-control.

http://php.net/manual/en/function.set-error-handler.php

Также удаляется E_STRICT из конфигурации error_reporting, если ошибка возникает в том же файле, где вызывается error_reporting(...) (или ini_set('error_reporting, ...')).

Ответ 3

Вы упомянули, что используете фреймворк (было бы хорошо знать, какой), в любом случае вы можете добавить что-то вроде этого на самом первом index.php:

error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('display_errors', 'On');

Но убедитесь, что вы находитесь на первом index.php, который вызывается, что означает самый первый в стеке, для определенной структуры, которая избавит вас от некоторой боли.

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

Ответ 4

Я устанавливал CMS Made simple, когда я столкнулся с этой ошибкой, но вот как я это сделал:

1) Откройте файл php.ini с помощью любого из ваших любимых редакторов: блокнот, блокнот ++ или Dreamweaver.

2) Нажмите ctrl + f, чтобы открыть диалоговое окно поиска.

3) Введите E_STRICT и нажмите "ОК", чтобы перейти к строке E_STRICT, есть несколько E_STRICT Stuff, но найдите один из них с такими настройками;

Общие значения:

E_ALL & ~E_NOTICE  (Show all errors, except for notices and coding standards warnings.)
   E_ALL & ~E_NOTICE | E_STRICT  (Show all errors, except for notices)
   E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)
   E_ALL | E_STRICT  (Show all errors, warnings and notices including coding standards.)
 Default Value: E_ALL & ~E_NOTICE
 Development Value: E_ALL | E_STRICT
 Production Value: E_ALL & ~E_DEPRECATED
 http://php.net/error-reporting

error_reporting = E_ALL, здесь значение без знака ";" что важно, поэтому я просто очистил его, чтобы:

error_reporting = (удалить) и удалил E_ALL, и сохранил файл, я перезапустил все службы, и все сработало нормально. Надеюсь, что это сработает и для вас!

Ответ 5

error_reporting(E_ALL & ~E_STRICT);