它可以在浏览器中使用,
但我不希望用户浏览时执行它,
比如在浏览时应该退出,
有没有一种方法可以检测当前是否处于命令行模式?
它可以在浏览器中使用,
但我不希望用户浏览时执行它,
比如在浏览时应该退出,
有没有一种方法可以检测当前是否处于命令行模式?
以下是我长期以来一直在使用的(自 PHP4 以来,如果我没记错的话)...
(PHP_SAPI !== 'cli' || isset($_SERVER['HTTP_USER_AGENT'])) && die('cli only');
作为PHP脚本的第一行。这里有一个技巧:
您可以检查在CLI模式下始终可用的$argc/$argv参数。
#!/usr/bin/php
<?php
ini_set('register_argc_argv', 0);
if (!isset($argc) || is_null($argc))
{
echo 'Not CLI mode';
} else {
echo 'CLI mode';
}
$_SERVER
变量只在CLI模式下设置。if (!defined('STDIN')) {
// accessed through the web browser
die();
}