【问题标题】:Can I php script know if it's called from command line or web server [duplicate]我可以知道它是从命令行还是Web服务器调用的php脚本吗?
【发布时间】:2011-12-29 20:34:27
【问题描述】:

可能重复:
What is the canonical way to determine commandline vs. http execution of a PHP script?

我正在编写一个将作为 cron 作业执行的小脚本。有没有办法了解这个脚本是否是从 Web 服务器调用的,以便我可以回显 <br /> 而不是换行符作为输出?

【问题讨论】:

  • 最好的办法是发送header('Content-type: text/plain'); 并发送换行符。
  • @Truth no,你可以通过php_sapi_name()PHP_SAPI来确定

标签: php


【解决方案1】:

来自 php.net

if (PHP_SAPI === 'cli') 
{ 
    // ... 
} 

【讨论】:

    【解决方案2】:

    如果代码已从命令行调用,则未设置服务器变量 HTTP_USER_AGENT。这样的事情可能会有所帮助:

    $newline = (isset($_SERVER['HTTP_USER_AGENT'])) ? "<br />" : "\n";
    

    【讨论】:

      猜你喜欢
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 2012-11-16
      • 2010-09-16
      • 2012-06-22
      • 2010-12-27
      • 1970-01-01
      • 2015-05-11
      相关资源
      最近更新 更多