为什么相同PHP程序的输出在web浏览器、windows命令提示符和3v4l中不同?
我使用的是运行在Windows 10家用单语言64位操作系统上的联想ideapad 500笔记本电脑 我已经在这台机器上安装了最新版本的XAMPP安装程序,它执行最新的PHP稳定发布版本,即PHP7.2.1 我在一个名为hello.php(C:\xampp\htdocs\hello.php)的文件中编写了以下程序:为什么相同PHP程序的输出在web浏览器、windows命令提示符和3v4l中不同?,php,command-line,xampp,command-prompt,Php,Command Line,Xampp,Command Prompt,我使用的是运行在Windows 10家用单语言64位操作系统上的联想ideapad 500笔记本电脑 我已经在这台机器上安装了最新版本的XAMPP安装程序,它执行最新的PHP稳定发布版本,即PHP7.2.1 我在一个名为hello.php(C:\xampp\htdocs\hello.php)的文件中编写了以下程序: <?php $funcs = get_defined_functions(); echo count($funcs['internal']); ?> 我在我的web
<?php
$funcs = get_defined_functions();
echo count($funcs['internal']);
?>
我在我的web浏览器中通过绑定URL执行了这个程序:http://localhost/hello.php
并获得以下输出:1340
然后,我在windows命令提示符下输入以下命令来执行相同的程序:C:\xampp\htdocs>php hello.php
我得到以下输出:1333
为什么会这样?更令人惊讶的是
我在这里得到的输出是1366
为什么我在三个不同的地方得到同一程序的三个不同输出?它可能是同一个php文件,但您没有调用同一个程序。一个将在Apache的mood_php下运行,另一个将在php cli下运行。虽然这两个执行环境可能非常相似,但它们的内部函数数量略有不同也就不足为奇了。如果你比较这两个列表,你可能会发现它们的差异是合理的 为什么不比较输出,而不仅仅是计数。是的,记住计数不同并不意味着列表相同。它们可能有更多的差异,但仍然有相似的计数。同一程序的3v4l版本中的不同输出如何?不确定这是什么,可能是其他人做的。但我认为同样的情况也适用。记住,这些内部函数不是来自脚本,而是来自执行脚本的解释器。我想你可能会对比较这些列表感兴趣,看看它们有什么不同,也许你可以马上看出原因。