如果网站 运行 作为 CLI,为什么网站不会将自己标识为 CLI?
Why site wont identify itself as CLI if it was run as CLI?
我开发的网站只有这个:
echo php_sapi_name();
现在从 CMD,我 运行 这个:
php -d display_errors=1 -r "echo file_get_contents('http://site');"
它 returns apache2handler
而不是 cli
。为什么?
当您运行执行以下命令时:
php -d display_errors=1 -r "echo file_get_contents('http://site');"
您实际上是从 Apache 加载文件(使用 HTTP 协议)。这就是为什么您得到 apache2handler
而不是 cli
的原因。 PHP 脚本在 Apache 下 运行ning。这与通过某些浏览器访问 http://site
时得到的结果相同。在这种情况下,您的 PHP 客户端充当您的浏览器。
如果您需要从 PHP 客户端 运行 您的脚本,您必须从命令行以这种方式调用它:
php file.php
您需要能够从您的文件系统访问该文件。使用上述命令,我假设您与脚本位于同一目录中。
我开发的网站只有这个:
echo php_sapi_name();
现在从 CMD,我 运行 这个:
php -d display_errors=1 -r "echo file_get_contents('http://site');"
它 returns apache2handler
而不是 cli
。为什么?
当您运行执行以下命令时:
php -d display_errors=1 -r "echo file_get_contents('http://site');"
您实际上是从 Apache 加载文件(使用 HTTP 协议)。这就是为什么您得到 apache2handler
而不是 cli
的原因。 PHP 脚本在 Apache 下 运行ning。这与通过某些浏览器访问 http://site
时得到的结果相同。在这种情况下,您的 PHP 客户端充当您的浏览器。
如果您需要从 PHP 客户端 运行 您的脚本,您必须从命令行以这种方式调用它:
php file.php
您需要能够从您的文件系统访问该文件。使用上述命令,我假设您与脚本位于同一目录中。