Доступно для браузера,
но я не хочу, чтобы он выполнялся при просмотре пользователем,
скажем, при просмотре должен выйти,
есть ли способ определить, является ли он в настоящее время режимом командной строки?
См:
Рассказ: php_sapi_name().
php_sapi_name()
Вот то, что я использую, уже давно ... (начиная с php 4 iirc)
(PHP_SAPI !== 'cli' || isset($_SERVER['HTTP_USER_AGENT'])) && die('cli only');
для использования в качестве первой строки сценария php.
Другой трюк, $_SERVER имеет переменные, которые устанавливаются только в режиме CLI.
$_SERVER
Вот хитрость:
Вы можете проверить параметры $ argc / $ argv, которые всегда доступны в режиме CLI.
#!/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