它可用于浏览器,
但我不希望它在用户浏览时执行,
说,浏览时应该退出,
有没有办法检测它当前是否是命令行模式?
看:
短篇小说:php_sapi_name()
。
这是我正在使用的,很长一段时间以来......(从 php 4 iirc 开始)
(PHP_SAPI !== 'cli' || isset($_SERVER['HTTP_USER_AGENT'])) && die('cli only');
用作 php 脚本的第一行。
另一个技巧,$_SERVER
只有在 CLI 模式下设置的变量。
这是一个技巧:
您可以检查在 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';
}
if (!defined('STDIN')) {
// accessed through the web browser
die();
}
我在创建 PHP CLI 脚本时使用它。效果很好。