To find out are you in CLI or not, this is much better in my opinion:
<?php
if (PHP_SAPI != "cli") {
exit;
}
?>
$argc
$argc — Betiğe geçirilen ifade sayısı
Açıklama
Komut satırından çalıştığında geçerli betiğe aktarılan ifade sayısını içerir.
Bilginize: Betiğin dosya adı her zaman ilk ifade olarak betiğe geçirilir, bu nedenle $argc'nin asgari değeri 1'dir.
Bilginize: Bu değişken sadece register_argc_argv etkin olduğunda kullanılabilir.
Örnekler
Örnek 1 - $argc örneği
<?php
var_dump($argc);
?>
Örneği şu şekilde çalıştırınca: php betik.php arg1 arg2 arg3
Yukarıdaki örnek şuna benzer bir çıktı üretir:
int(4)
Tejesember
04-May-2011 09:50
anonymous
21-Oct-2010 02:26
I use the following lines to check if i'm using CLI mode or not :
<?php
$cli_mode = false;
if ( isset($_SERVER['argc']) && $_SERVER['argc']>=1 ) {
$cli_mode = true;
}
?>
karsten at typo3 dot org
18-Feb-2009 12:47
Note: when using CLI $argc (as well as $argv) are always available, regardless of register_argc_argv, as explained at http://docs.php.net/manual/en/features.commandline.php
