Другой вариант - проверить определенную переменную среды, которая устанавливается, когда php-файл вызывается через Интернет, и не устанавливается, если запускается из командной строки.
На моем веб-сервере я проверяю, установлена ли переменная окружения APACHE_RUN_DIR следующим образом:
if (isset($_ENV["APACHE_RUN_DIR"])) {
// I'm called by a web user
}
else {
// I'm called by crontab
}
Чтобы убедиться, что он будет работать на вашем веб-сервере, вы можете поместить фиктивный php-файл на ваш веб-сервер с помощью одного оператора:
<?php var_dump($_ENV); ?>
Затем 1) загрузите его с помощью веб-браузера и 2) загрузите из командной строки следующим образом
/usr/bin/php /var/www/yourpath/dummy.php
Сравните различия и протестируйте соответствующую переменную.