可能重复:
如何区分http请求和cli请求
哪种方法检测php脚本的运行模式更可靠?
确定php是从shell(cron或其他(运行还是在apache下运行的最佳方法是什么?
您可能会发现这很有用:http://php.net/manual/en/function.php-sapi-name.php
echo php_sapi_name()==="apache2handler"; //running under apache?
http://sandbox.phpcode.eu/g/5f9d5
如果您需要了解所使用的SAPI的确切信息,请参阅marcelog的回答。
如果您只需要知道是否有可用的HTTP环境,那么您可以简单地测试$_SERVER['HTTP_HOST']
:
$is_web = isset($_SERVER['HTTP_HOST']);