如何确定是否从命令行运行php

时间:2012-07-04 10:48:15

标签: php

  

可能重复:
  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'
}

?>

2 个答案:

答案 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";
}