0

php_sapi_name()cgi-fcgiCLIとWebの両方で戻ります:(

PHPがfcgiで実行されているときに、スクリプトが現在コマンドラインモードで実行されているかどうかを検出する信頼できる方法はありますか?

編集:nvm. 実行可能ファイルを実行する必要があったことがわかりましたphp-cli

4

3 に答える 3

1

$_SERVER$_ENVスーパーグローバル配列をチェックします。

$_SERVER['REMOTE_ADDR']または $_SERVER['argc'] を試してください。

良い回答フォームを見つけましたhttps://stackoverflow.com/a/12654906/1197702

function drupal_is_cli() {
  return (!isset($_SERVER['SERVER_SOFTWARE']) && (php_sapi_name() == 'cli' || (is_numeric($_SERVER['argc']) && $_SERVER['argc'] > 0)));
}
于 2013-10-08T15:18:36.620 に答える
1

これを試して。違いがあるかどうか:

if (defined('PHP_SAPI')) {
  echo PHP_SAPI;
}
于 2013-10-08T15:23:25.150 に答える