【发布时间】:2019-07-26 04:28:19
【问题描述】:
我在 IIS(Windows)上使用 PHP (7.3.7) Non-ThreadSafe 作为 FastCGI。
PHP 安装是全新的,只是将 php.ini-development 重命名为 php.ini 因此 error_reporting 设置为 E_ALL
运行以下脚本
<?php
echo "some text\n" ;
echo $aaaaaaa;
echo "another text\n" ;
?>
会产生输出
PHP Notice: Undefined variable: aaaaaaa in ****\article.php on line 3
请注意,输出中缺少第一行和第三行。
使用相同的 php 安装,在 apache (2.4.39) 和 nginx (1.17.2)(也在 windows 系统上)显示以下输出
some text
PHP Notice: Undefined variable: aaaaaaa in ****\article.php on line 3
another text
是否需要更改特定配置,以便 PHP 在 IIS 中也显示与 apache、nginx 相同的输出?
或者换句话说,如何配置我的设置以显示警告和通知以及脚本的输出。
我用 PHP(7.1.30、7.2.11、5.2.10.10)尝试了相同的脚本,但同样的问题在 IIS 上仍然存在,但在 apache 或 nginx 上没有。
编辑
我知道如果我将
error_reporting设置为E_ALL,则会显示所有错误、警告和通知,当我将其更改为E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED时,通知和警告将被禁用并且不会显示。我也知道 $aaaaaaa 没有定义,它的存在是为了说明问题。
编辑 2
这似乎与 IIS 上的 fast-cgi 配置有关。在同一台机器上使用apache 和nginx 进行相同的php 安装和配置,我可以准确地看到Phil 和sancoLgates 在他们的链接中显示的内容。我正在编辑我的问题以反映问题
【问题讨论】:
-
无法重现您的观察结果~3v4l.org/coFKX
-
它在我的机器上的工作方式和你想要的完全一样
-
奇怪! imgur.com/r1rUkaD,php安装是一个新副本,我只是取消了一些我需要的扩展。
-
这就是
test.php包含的所有代码吗? -
是的,imgur.com/UpvNERM,如果有帮助,我正在 Windows 和 PHP 7.2.11 上运行