如果从控制台或浏览器请求运行脚本,如何检查PHP?

Eda*_*anB 37 php shell console command-line-interface

我试过像$ _ENV ['CLIENTNAME'] =='Console'这样的东西,但这似乎只适用于某些操作系统(在Windows中工作,而不是linux).

我试过了!空($ _ ENV ['SHELL'])但是这总是不起作用......

有没有办法检查这将适用于所有操作系统/环境?

Tom*_*igh 72

使用 php_sapi_name()

返回一个小写字符串,描述PHP正在使用的接口类型(Server API,SAPI).例如,在CLI PHP中,此字符串将为"cli",而对于Apache,它可能具有多个不同的值,具体取决于所使用的确切SAPI.

例如:

$isCLI = ( php_sapi_name() == 'cli' );
Run Code Online (Sandbox Code Playgroud)

您也可以使用常量 PHP_SAPI