Мне нужно отключить E_STRICT. У меня есть error_reporting = E_ALL и ~ E_STRICT в моем php.ini, но, похоже, это игнорируется. Я пробовал это в своем коде:
ini_set('error_reporting', E_NOTICE);
Ничего!
Пожалуйста, помогите.
Мне нужно отключить E_STRICT. У меня есть error_reporting = E_ALL и ~ E_STRICT в моем php.ini, но, похоже, это игнорируется. Я пробовал это в своем коде:
ini_set('error_reporting', E_NOTICE);
Ничего!
Пожалуйста, помогите.
попробуйте это.
error_reporting(E_ALL ^ E_STRICT);
Сообщается обо всех ошибках, кроме E_STRICT
Если у вас есть собственный обработчик ошибок (найдите свой код для 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, ...')
).
Вы упомянули, что используете фреймворк (было бы хорошо знать, какой), в любом случае вы можете добавить что-то вроде этого на самом первом index.php:
error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('display_errors', 'On');
Но убедитесь, что вы находитесь на первом index.php, который вызывается, что означает самый первый в стеке, для определенной структуры, которая избавит вас от некоторой боли.
Другое дело: большинство фреймворков имеют свой собственный файл конфигурации для решения производственного программного обеспечения VS. и у них есть свой собственный способ делать что-то, поэтому я бы начал с этого момента... посмотрите на документы и узнайте, есть ли там что-то, что вам нужно изменить... это может быть очень простое изменение на скорее всего, файл конфигурации.
Я устанавливал 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, и сохранил файл, я перезапустил все службы, и все сработало нормально. Надеюсь, что это сработает и для вас!
error_reporting(E_ALL & ~E_STRICT);