It's available to browser,
but I don't want it to execute when browsed by user,
say,when browsed should exit,
is there a way to detect whether it's currently Cmmand Line Mode?
Paolo Bergantino
Another trick, $_SERVER
has variables that are only set in CLI mode.
Here is what i'm using, for a long time now... (since php 4 iirc)
(PHP_SAPI !== 'cli' || isset($_SERVER['HTTP_USER_AGENT'])) && die('cli only');
to be used as first line of the php script.
Here is a trick:
You can check for the $argc/$argv parameters which are always available in CLI mode.
#!/usr/bin/php
<?php
ini_set('register_argc_argv', 0);
if (!isset($argc) || is_null($argc))
{
echo 'Not CLI mode';
} else {
echo 'CLI mode';
}
来源:https://stackoverflow.com/questions/942435/how-to-make-a-php-file-run-able-only-through-cli-mode