Как запустить php скрипт в консоли в фоновом режиме?
Использовать nohup:
Запустите команду с перенаправлением вывода в указанный файл:
bash
nohup php /path/to/script.php > /path/htdocs/yama/levelog.log 2>&1 &
> /path/htdocs/yama/levelog.log
: записывает стандартный вывод в файл.2>&1
: объединяет стандартный вывод и стандартный поток ошибок.
Логи будут записываться в файл /path/htdocs/yama/levelog.log
.
Убедитесь в правах доступа
Если файл /path/htdocs/yama/levelog.log
принадлежит другому пользователю или группе, проверьте и настройте права доступа:
Убедитесь, что PHP имеет право записывать в файл:
bash
sudo chown www-data:www-data /path/htdocs/yama/levelog.log sudo chmod 664 /path/htdocs/yama/levelog.log
Если файла ещё нет, создайте его:
bash
touch /path/htdocs/yama/levelog.log sudo chown www-data:www-data /path/htdocs/yama/levelog.log sudo chmod 664 /path/htdocs/yama/levelog.log
Теперь все логи будут корректно записываться в указанный файл.
Что дальше?
Проверить логи: Убедитесь, что скрипт записывает данные в файл:
bash
tail -f /bigwash_erp/htdocs/yama/levelog.log
Убедиться, что процесс работает:
bash
ps -p 285
Если процесс активен, команда вернёт информацию о процессе.
Остановить процесс (при необходимости):
bash
kill 285
Если вы закроете сессию SSH, процесс будет продолжать работать.