2011-04-06 122 views
1

我有一个包含运行一些冗长数据库操作的类的php文件。该文件包含在一些其他脚本中,但我希望能够从另一个程序的命令行中调用该文件,或者将其作为crontab的一部分,以便它可以在后台运行以用于较长的进程。如何仅在从命令行调用文件时执行某些操作

有没有办法检测到文件是从命令行调用的,所以我可以运行一个函数来实例化对象并执行它?

回答

2

使用php_sapi_name()来确定PHP正在使用哪个接口。如果它是命令行,则会返回'cli',如果有其他内容,则返回特定的名称字符串。

if (php_sapi_name() == 'cli') { 
    echo 'Executing from the command line'; 
} else { 
    echo 'Likely executing via a web server'; 
} 
相关问题