Назад | Перейти на главную страницу

консоль PHP производит вывод кода операции

У меня PHP работает на WSL в Windows вместе с nginx + php-fpm. Веб-компонент работает с php OK, но консольный PHP по какой-то причине выдает вывод кода операции. Например, у меня есть такой файл PHP:

? php echo "тест ОК \ г \ п";

Когда я запускаю его как

php test.php

Он выдаст такой результат:

корень @ компьютер: /mnt/d/php/zona.sp# php test.php

$ _main:; (строки = 2, args = 0, vars = 0, tmps = 0); (после прохода 1); /mnt/d/php/zona.space/test.php:1-3 L0 (2): ECHO string ("test ok") L1 (3): RETURN int (1)

$ _main:; (строки = 2, args = 0, vars = 0, tmps = 0); (после прохода 2); /mnt/d/php/zona.space/test.php:1-3 L0 (2): строка ECHO ("тест ОК") L1 (3): RETURN int (1)

$ _main:; (строки = 2, args = 0, vars = 0, tmps = 0, no_loops); (после прохода 7); /mnt/d/php/zona.space/test.php:1-3; return [long] RANGE [1..1] L0 (2): ECHO string ("test ok") L1 (3): RETURN int (1) test ok

Почему так происходит?

корень @ компьютер: /mnt/d/php/zona.sp# php -v

PHP 7.2.9-1 (cli) (построено: 19 августа 2018 06:56:13) (NTS)

Авторские права (c) 1997-2018 Группа PHP

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

с Zend OPcache v7.2.9-1, Copyright (c) 1999-2018, Zend Technologies

Где-то в вашей конфигурации PHP вы установили opcache.opt_debug_level к ненулевому значению. Удалите этот параметр из своего php.ini или включенный ini-файл, в котором он установлен, или установите для него значение по умолчанию 0.