可能重复:
What is the canonical way to determine commandline vs. http execution of a PHP script?
我有时会从命令行运行php脚本。使用cron或其他一次脚本。
我想知道它是否可以在php脚本中确定它是否通过命令行运行?
<?php
$isRunFromCommandLine = // set to (true:false) -- not sure how to do this
if($isRunFromCommandLine){
echo 'You are running from command line';
}
else{
echo 'You are not running php via command line'
}
?>
答案 0 :(得分:1)
我想知道它是否可以在php脚本中确定它是否通过命令行运行?
当然。检查php_sapi_name()的输出,它会告诉您是否在CLI模式下运行。
$cli = php_sapi_name( ) === 'cli';
var_dump( $cli );
答案 1 :(得分:1)
如果脚本通过浏览运行,变量$_SERVER['HTTP_USER_AGENT']
将设置,如果它是vai终端,则不会设置
if(isset($_SERVER['HTTP_USER_AGENT'])){
echo "Via browse";
}
else{
echo "Via terminal";
}