3 回答
TA贡献1803条经验 获得超6个赞
使用php_sapi_name()功能。
if (php_sapi_name() == "cli") {
// In cli-mode
} else {
// Not in cli-mode
}
以下是文档中的一些相关说明:
php_sapi_name —返回Web服务器和PHP之间的接口类型
尽管并不详尽,但可能的返回值包括aolserver,apache,apache2filter,apache2handler,caudium,cgi(直到PHP 5.3),cgi-fcgi,cli,cli-server,continuity,embed,isapi,litespeed,milter,nsapi,phttpd, pi3web,roxen,thttpd,tux和webjames。
在PHP> = 4.2.0中,还有一个预定义的常量,PHP_SAPI其值与相同php_sapi_name()。
TA贡献1828条经验 获得超4个赞
这将始终有效。(如果PHP版本是4.2.0或更高版本)
define('CLI', PHP_SAPI === 'cli');
这使得在脚本顶部易于使用:
<?php PHP_SAPI === 'cli' or die('not allowed');
TA贡献1963条经验 获得超6个赞
这是Drupal 7的实现:drupal_is_cli():
function drupal_is_cli() {
return (!isset($_SERVER['SERVER_SOFTWARE']) && (php_sapi_name() == 'cli' || (is_numeric($_SERVER['argc']) && $_SERVER['argc'] > 0)));
}
但是Drupal 8 建议使用PHP_SAPI === 'cli'
- 3 回答
- 0 关注
- 464 浏览
添加回答
举报