Ben PHP geçerli çağırma komut satırından (CLI) veya web sunucusu (mod_php ile benim durumumda, Apache) olup olmadığını belirlemek gerekir.
Herhangi önerilen yöntemler?
php_sapi_name
bunu arayüz tipi bir küçük dize döndürür olarak kullanmak isteyeceksiniz fonksiyonudur. Buna ek olarak, PHP sabit PHP_SAPI
yoktur.
Belgeler burada bulunabilir: http://php.net/php_sapi_name
Örneğin, PHP CLI çalıştırmak olup olmadığını belirlemek için bu işlevi kullanabilirsiniz:
function isCommandLineInterface()
{
return (php_sapi_name() === 'cli');
}
i bir web isteği bir yanıt ise PHP CLI çağrılan veya ediliyor eğer o demektir düşünüyorum. En iyi yolu kullanmak olacaktır
php_sapi_name()
which if it was running a web request would echo apache if that is what it was running. a list of a few:
* aolserver
* apache
* apache2filter
* apache2handler
* caudium
* cgi
* cgi-fcgi
* cli
* Continuity
* embed
* isapi
* milter
* nsapi
* phttpd
* pi3web
* roxen
* thttpd
* tux
* webjames
http://jp2.php.net/manual/en/features.commandline.php göre CLI çalışan sadece set sabitleri vardır. Bu sabitler STDIN, STDOUT ve STDERR vardır. Bu cli modunda ise onlardan biri için test anlatacağım
Ben $_SERVER dizisinin girdilerden bazıları ayarlanmış olup olmadığını kontrol etmek öneririz.
Örneğin:
if (isset($_SERVER['REQUEST_METHOD'])) {
print "HTTP request\n";
} else {
print "CLI invocation\n";
}