如果网站以CLI的形式运行,为什么它不会将自己标识为CLI ?



我正在开发的网站只有这个:

echo php_sapi_name();

现在从CMD,我运行这个:

php -d display_errors=1 -r "echo file_get_contents('http://site');"

返回apache2handler而不是cli。为什么?

当执行以下命令时:

php -d display_errors=1 -r "echo file_get_contents('http://site');"

你实际上是从Apache加载文件(使用HTTP协议)。这就是为什么你得到的是apache2handler而不是cli。PHP脚本在Apache下运行。这与您通过某些浏览器访问http://site时得到的结果相同。在本例中,PHP客户机充当浏览器。

如果你需要从PHP客户端运行你的脚本,你必须这样调用它,从命令行:

php file.php

您需要从文件系统访问该文件。使用上面的命令,我假设您位于脚本所在的目录中。

最新更新