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

Why the output of the same PHP program is different in web browser, at the windows command prompt and at 3v4l?

我正在使用 Lenovo ideapad 500 笔记本电脑 运行 Windows 10 家庭单一语言 64 位操作系统

我已经在这台机器上安装了 XAMPP 安装程序的最新副本,它执行 PHP 的 最新稳定发布版本PHP 7.2.1

我在标题为 hello.php(C:\xampp\htdocs\hello.php) :

的文件中编写了以下程序
<?php
$funcs = get_defined_functions();
echo count($funcs['internal']);
?>

我在我的网络浏览器中通过绑定 URL 执行了这个程序:http://localhost/hello.php 并得到以下输出:1340

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

我得到以下输出:1333

为什么会这样? https://3v4l.org/#preview

的输出更令人惊讶

我这里得到的输出是1366

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

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