控制台 PHP 产生操作码输出

控制台 PHP 产生操作码输出

我在 Windows 上的 WSL 上运行 PHP,同时运行 nginx+php-fpm。Web 组件运行 php 正常,但控制台 PHP 出于某种原因生成操作码输出。例如,我有这样的 PHP 文件:

?php echo "测试OK\r\n";

当我运行它时

php 测试.php

它将产生以下输出:

root@computer:/mnt/d/php/zona.sp#php test.php

$_main: ; (lines=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: ; (lines=2, args=0, vars=0, tmps=0) ; (第 2 次传递之后) ; /mnt/d/php/zona.space/test.php:1-3 L0 (2): ECHO string("test ok ") L1 (3): RETURN int(1)

$_main: ; (lines=2, args=0, vars=0, tmps=0, no_loops) ; (第 7 次传递之后) ; /mnt/d/php/zona.space/test.php:1-3 ; 返回 [long] RANGE[1..1] L0 (2): ECHO string("test ok ") L1 (3): RETURN int(1) test ok

为什么会发生这种情况?

root@computer:/mnt/d/php/zona.sp# php -v

PHP 7.2.9-1 (cli)(构建于:2018 年 8 月 19 日 06:56:13)(NTS)

版权所有 (c) 1997-2018 PHP 集团

Zend Engine v3.2.0,版权所有 (c) 1998-2018 Zend Technologies

使用 Zend OPcache v7.2.9-1,版权所有 (c) 1999-2018,Zend Technologies

答案1

在您的 PHP 配置中的某个地方,您已经设置opcache.opt_debug_level设置为非零值。从php.ini设置该设置的 ini 文件或包含的 ini 文件中删除该设置,或将其恢复为默认值 0。

相关内容