У меня 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.