Cronjob вызывает 500 внутреннюю ошибку сервера

Я запускаю демонстрацию CMS на моем сервере. В этой демонстрации потенциальные клиенты могут опробовать серверную часть CMS. Вот почему я создал php-скрипт, который удаляет всю папку CMS и копирует в нее резервную копию. Таким образом, при каждом запуске скрипта демо-сайт восстанавливается.

Дело в том, что я выясняю, как это сделать с помощью cron.
Я использую следующую команду (я использую CentOS).

0 * * * * php /home/USER/public_html/replaceCMS.php

Это заменяет все файлы в папке, но также вызывает 500 внутренних ошибок сервера.
Когда я запускаю скрипт через браузер, проблема не появляется.

Я также попытался разархивировать .zip с перезаписью в демонстрационную папку. Делая это с файловым менеджером cPanel, все прошло хорошо. Выполнение этого с командой unzip -o вызывает ту же ошибку.

Кто-нибудь из вас знает, как это случилось?

0

Решение

Когда задание выполняется от имени пользователя root, файлы, вероятно, будут принадлежать пользователю root, который не является тем же пользователем, что и ваш веб-сервер. Таким образом, когда вы вызываете скрипт через браузер, он запускается с пользовательским контекстом веб-сервера, а не с правами root.

Вы можете проверить это, запустив ls -l в командной строке и видеть, кто владелец, когда вы запускаете его с помощью cronjob, а не когда вы открываете страницу с помощью браузера.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]