Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么相同PHP程序的输出在web浏览器、windows命令提示符和3v4l中不同?_Php_Command Line_Xampp_Command Prompt - Fatal编程技术网

为什么相同PHP程序的输出在web浏览器、windows命令提示符和3v4l中不同?

为什么相同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

我使用的是运行在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浏览器中通过绑定URL执行了这个程序:
http://localhost/hello.php
并获得以下输出:
1340

然后,我在windows命令提示符下输入以下命令来执行相同的程序:
C:\xampp\htdocs>php hello.php

我得到以下输出:
1333

为什么会这样?更令人惊讶的是

我在这里得到的输出是
1366


为什么我在三个不同的地方得到同一程序的三个不同输出?

它可能是同一个php文件,但您没有调用同一个程序。一个将在Apache的mood_php下运行,另一个将在php cli下运行。虽然这两个执行环境可能非常相似,但它们的内部函数数量略有不同也就不足为奇了。如果你比较这两个列表,你可能会发现它们的差异是合理的

为什么不比较输出,而不仅仅是计数。是的,记住计数不同并不意味着列表相同。它们可能有更多的差异,但仍然有相似的计数。同一程序的3v4l版本中的不同输出如何?不确定这是什么,可能是其他人做的。但我认为同样的情况也适用。记住,这些内部函数不是来自脚本,而是来自执行脚本的解释器。我想你可能会对比较这些列表感兴趣,看看它们有什么不同,也许你可以马上看出原因。