我正在开发的网站只有这个:
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
您需要从文件系统访问该文件。使用上面的命令,我假设您位于脚本所在的目录中。