15

ブラウザで利用可能で、

しかし、ユーザーが閲覧したときに実行したくありません。

たとえば、ブラウズすると終了する必要があります。

現在コマンドラインモードかどうかを検出する方法はありますか?

4

5 に答える 5

10

これが私が長い間使用しているものです...(php 4 iirc以降)

(PHP_SAPI !== 'cli' || isset($_SERVER['HTTP_USER_AGENT'])) && die('cli only');

php スクリプトの最初の行として使用されます。

于 2014-03-18T20:30:01.277 に答える
2

別のトリックに$_SERVERは、CLI モードでのみ設定される変数があります。

于 2009-06-03T00:05:14.800 に答える
1

ここにトリックがあります:

CLI モードで常に使用できる $argc/$argv パラメータを確認できます。

#!/usr/bin/php
<?php 

ini_set('register_argc_argv', 0);  

if (!isset($argc) || is_null($argc))
{ 
    echo 'Not CLI mode';
} else {
    echo 'CLI mode';
}

register_argc_argv

$argc

于 2009-06-02T23:51:34.750 に答える