当前位置: 首页 > 面试题库 >

在PHP中,如何检测是从CLI模式还是通过浏览器执行?

梅飞龙
2023-03-14
问题内容

我有一个通用脚本,该脚本包含在我的PHPcron文件中以及正在通过浏览器访问的文件中。代码的某些部分,我只需要非cron文件。如何检测执行是从CLI还是通过浏览器执行(我知道可以通过将某些参数与cron文件一起传递来完成,但我无权访问crontab)。还有其他办法吗?


问题答案:

使用php_sapi_name()功能。

if (php_sapi_name() == "cli") {
    // In cli-mode
} else {
    // Not in cli-mode
}

以下是文档中的一些相关说明:

php_sapi_name —返回Web服务器和PHP之间的接口类型

尽管不完整,但可能的返回值包括aolserver,apache,apache2filter,apache2handler,caudium,cgi(直到PHP
5.3),cgi-fcgi,cli,cli-
server,continuity,embed,isapi,litespeed,milter,nsapi,phttpd,
pi3web,roxen,thttpd,tux和webjames。




 类似资料:
  • 问题内容: 我需要javascript来检测每个浏览器换行的文本并将其换成。 我碰到过很多文章,都在讨论如何测量每个单词的y轴,但还没有一个可靠的解决方案。 到目前为止,这就是我所拥有的。在Jsfiddle上看到它。 HTML JS / jQuery CSS ​ 问题答案: 首先我必须承认,我认为这将是一项艰巨的任务,因为无法通过任务浏览器告诉您自动换行符发生在何处。 我创建了一个解决方案,首先将

  • 如何通过使用$_server['http_user_agent']检测用户使用的是iPhone、Android还是浏览器;在PHP中。如果用户使用的是桌面,它应该打印桌面如果用户使用的是iphone打印iphone如果用户使用的是android打印android

  • 问题内容: 我使用以下PHP脚本作为网站索引。 该脚本应包括一个特定页面,具体取决于浏览器的语言(自动检测到)。 该脚本无法在所有浏览器上正常运行,因此它始终包含任何检测到的语言(问题的原因很可能是未考虑某些Accept- Language标头的问题)。 您能否建议我一个更强大的解决方案? 问题答案: 你为什么不保持它简单干净

  • 问题内容: 我需要一种在服务器端检测移动浏览器的方法。我想要一种方法,几乎​​不需要做任何设置,也不需要维护,但仍然可以(至少非常准确地)为我提供对Android,Mobile Safari和Blackberry浏览器以及Opera之类的浏览器的准确检测。 我希望至少 涵盖整个移动市场 ,并且如果花费不多,我实际上会更喜欢几乎所有的市场。 问题答案: WURLF是移动浏览器检测的最终方法,并且提供

  • iPhone浏览器的用户代理 Mozilla/5.0(iPhone;U;CPU iPhone OS 4_0,如Mac OS X;en us)AppleWebKit/532.9(KHTML,如Gecko)版本/4.0.5 Mobile/8A293 Safari/6531.22.7 iPhone应用的用户代理 Mozilla/5.0(iPhone; U; CPUiPhoneOS4_0像Mac OS X

  • 问题内容: 如何检测用户是否没有使用JavaScript或PHP使用任何浏览器Chrome,Firefox或Internet Explorer? 问题答案: 我发现在JS中执行此操作的最佳方法是在Quirksmode上。我为PHP制作了一个应与常见浏览器一起使用的PHP: