Ответ 1
В ответ на ОП этот комментарий указал ему в правильном направлении:
Не удивительно, если проблема здесь в другом месте: попробуйте установить E_ALL | E_STRICT в вашем php.ini напрямую, не забудьте также изменить php-cli.ini, если вы используете этот код в командной строке.
Также дважды проверьте, не были ли ошибки скрыты делая ini_set('display_errors',1);1
. Если вы используете это в окне окна, в прошлом были некоторые ошибки с этим в прошлом.
Поскольку OP также указывал, что предупреждения были сгенерированы до того, как какой-либо код был выполнен, у меня возникло подозрение, что ожидаемые предупреждения возникают во время компиляции, а не во время выполнения, поэтому я еще раз посмотрел на документы. Там я нашел эту большую заметку с красным ящиком, которая подтвердила мои подозрения:
Большинство ошибок E_STRICT оцениваются во время компиляции, поэтому такие ошибки не сообщаются в файле, где error_reporting улучшается, чтобы включать ошибки E_STRICT (и наоборот).
Поскольку версия 5 PHP - это "скомпилированный" язык (похож на Java, код компилируется в Zend Bytecode). Когда Zend-engine компилирует код с ошибками, выпущенными во время компиляции, вызов script error_reporting
не влияет на погоду или не сообщается об этих ошибках: вызов error_reporting
применяется только к ошибкам времени выполнения/предупреждения.
Возможно, это: error_reporting(E_ALL | E_STRICT | E_COMPILE_ERROR);
тоже стоит посмотреть
Итог:
Установите отчет об ошибках в файлах php.ini, когда сможете.