To find out are you in CLI or not, this is much better in my opinion:
<?php
if (PHP_SAPI != "cli") {
exit;
}
?>
$argc
(PHP 4, PHP 5)
$argc — スクリプトに渡された引数の数
説明
コマンドラインから実行したときに、 現在のスクリプトに渡された引数の数が含まれます。
注意: スクリプトのファイル名は、常にスクリプトへの引数として渡されます。 したがって、$argc の最小値は 1 です。
注意: この変数は、register_argc_argv が無効になっている場合には使えません。
例
例1 $argc の例
<?php
var_dump($argc);
?>
このサンプルを php script.php arg1 arg2 arg3 と実行します。
上の例の出力は、 たとえば以下のようになります。
int(4)
Tejesember
04-May-2011 06:50
anonymous
21-Oct-2010 11: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 09: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
