Я использую версию PHP 7.0.2 в OS X El Capitan и каждый раз, когда я выполняю сценарий PHP, содержащий некоторый ошибочный код, он сообщает об ошибке, а затем, кажется, автоматически выполняет возврат. Я не уверен, является ли это новой функцией в PHP 7, однако я не могу найти упоминания об этом где-либо или кого-либо еще, кто сталкивается с подобной проблемой.
Например:
<?php
echo $a;
?>
Вернет следующий вывод, если выполняется из CLI:
PHP Notice: Undefined variable: a in /Path/to/file.php on line 2
PHP Stack trace:
PHP 1. {main}() /Path/to/file.php:0
Notice: Undefined variable: a in /Path/to/file.php on line 2
Call Stack:
0.0002 350944 1. {main}() /Path/to/file.php:0
Любое понимание того, что может быть причиной проблемы, приветствуется.
Благодарю.
Проблема, с которой я столкнулся, была связана не с самим PHP 7.0.2, а с расширением, которое каким-то образом стало активным и называется XDebug. XDebug, предназначенный для расширенного отчета об ошибках, вызывал проблемы в другом моем проекте, и, отключив его, он, похоже, решил мою проблему. Чтобы отключить XDebug, все, что вам нужно сделать, — это изменить файл php.ini и изменить значения debug.remote_autostart, debug.default_enable и debug.remote_enable с «on» на «off».
Добавление xdebug.default_enable=0
в php.ini
не позволит XDebug отправлять трассировки стека, не отказываясь от возможностей профилирования и отладки.