如果它作为CLI运行,为什么站点不会将自己标识为CLI?

时间:2015-09-21 15:21:11

标签: php command-line-interface

我开发的网站只有这个:

echo php_sapi_name();

现在来自CMD,我运行了这个:

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

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

1 个答案:

答案 0 :(得分:1)

运行以下命令时:

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

您需要从文件系统访问该文件。使用上面的命令,我假设你和脚本在同一个目录中。