PHP 5.6 (xampp) выводит предупреждения вместо ArgumentCountError

PHP 5.6 (xampp) выводит предупреждения вместо ArgumentCountError

Я запускаю некоторые скрипты php из cli. Я использую установку xampp для php с путем var /c/xampp/php. Я склонен менять версии, переименовывая установленные папки xampp, когда хочу переключиться между php5 и 7 и т. д.

Недавно удалил свой php5.6 и пришлось переустановить его. Теперь по какой-то причине я могу запустить любую функцию, не передавая требуемые параметры, и получаю только предупреждение вместо исключения, останавливающего выполнение.

например.

    <?php
function someFunction($required_param){
    if (!isset($required_param)) die('WTF! Param was not passed in yet im allowed to execute!');
}
someFunction();

//результаты с

$ php test/test.php
PHP Warning:  Missing argument 1 for someFunction(), called in C:\repo\php5\orm\test\test.php on line 5 and defined in C:\repo\php5\orm\test\test.php on line 2

Warning: Missing argument 1 for someFunction(), called in C:\repo\php5\orm\test\test.php on line 5 and defined in C:\repo\php5\orm\test\test.php on line 2
WTF! Param was not passed in!

Это действительно странное поведение. Я никогда не видел, чтобы php позволял вызывать функцию без требуемых параметров.

Есть идеи, как это могло произойти?

PS - также обратите внимание, что он выводит ошибку дважды, даже если я отключаю журнал ошибок или отображение ошибок, чтобы получить только один вывод ошибки. (пример выше не устанавливает никакой обработки ошибок во время выполнения, выполняется только то, что вы видите)

решение1

Предыдущие версии PHP выдавали предупреждение при обнаружении ArgumentCountError.

Теперь, по крайней мере, начиная с версии 7.1, возникает исключение Error.

PHP-документация

Связанный контент