PHP 要判斷現在程式的環境是 cgi、apache2handler 或是 cli, 要如何做?
PHP 判斷是否於 CLI 環境
PHP 可以使用 php_sapi_name() 來判斷.
於 Apache2 + mod_php 環境使用
- <?php
- print_r(php_sapi_name()); // apache2handler
- ?>
於 CLI 的環境使用
- <?php
- print_r(php_sapi_name()); // cli
- ?>
其它還有更多如: aolserver, apache, apache2filter, apache2handler, caudium, cgi (until PHP 5.3), cgi-fcgi, cli, cli-server, continuity, embed, isapi, litespeed, milter, nsapi, phttpd, pi3web, roxen, thttpd, tux, and webjames
主要要判斷是否於 CLI 環境, 於是寫個簡單的 Function 來判斷:
- <?php
- function is_cli()
- {
- return (php_sapi_name() === 'cli') ? true : false;
- }
- // Test
- ?>
谢谢分享~