Мне нужно отключить 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 и нажмите ok, чтобы перейти к E_STRICT Line, там есть несколько 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);