Насколько знаю, при запуске "вручную" появляются переменные $_SERVER['argc'] и $_SERVER['argv'], также появляются другие переменные окружения пользователя.
Следовательно:
if (isset($_SERVER['argc']) && isset($_SERVER['argv'])) {
define('SELFSERVICE', 1);
}
if (defined('SELFSERVICE')) {
echo "I'm a service";
} else {
echo "I'm a web-dispatcher";
}
Ну или запускать скрипт через http-запрос curl "http://name.site/script.php?cron=1"