На гит то зачем?
дак чтоб во время инсталляции команда уже была корректна. Это более универсальная команда:
cd ~/path/to/site/ && php cron.php > /dev/null 2>&1
а эта 👇 команда «специфична» к настройкам сервера
php -f /path/to/site/cron.php > /dev/null
ПОЧЕМУ?
Как минимум потому, что мы не в кроне определяем где находится интерпретатор и какой именно версии, а в настройках окружения и/или вебсервере. Поэтому, в кроне мы просто пишем в какую папку перейти и какой скрипт запустить, всё остальное мы настраиваем в других местах (окружение и веб-сервер)
Добавлено спустя 3 минуты
И да, с серверами Linux я работаю 15 лет
я чуток поменьше — 13 лет, но данном «линукс-возрасте» разница в деталях «кто где/куда копал и что и как использовал»
Добавлено спустя 6 минут
Я не знаю, про что вы) Безопасность сервера тут не при чем
Вы упустили: Или настройки указаны исключительно в рамках сервера (хостинга) который используют разработчики instantCMS 😉
Добавлено спустя 46 минут
Я не знаю, про что вы
чуток подумав как объяснить, решил дополнить. Через крон наш скрипт запускается через php-cli. Но php-cli у нас на разных уровнях разный, есть уровень сервера, есть уровень приложения. Команда php -f /path/to/site/cron.php запускает php-cli на уровне всего сервера от текущего пользователя, т.к. крон работает только глобально на весь сервер и никак иначе. Команда cd ~/path/to/site/ && php cron.php запускает php-cli на уровне приложения от текущего пользователя
Добавлено спустя 58 минут
и снова дополню, чтоб уже наверняка. Первая команда php -f /path/to/site/cron.php говорит крону " — выполни вот этот файл" и он выполняет исходят из глобальных настроек юзера. Вторая команда cd ~/path/to/site/ && php cron.php говорит крону "- выполни этот файл в той-то директории"
под одним юзером у нас могут быть разные версии и настройки php для каждого отдельного хоста, поэтому и выполнение по крон должно привязываться к конкретным директориям, а не к юзеру