Задать вопрос
@Neizlesa

PHP скрипт, запущенный кроном, не может писать в файл, созданный PHP скриптом, запущенным из браузера. Как победить?

Есть PHP скрипты, которые запускаются пользователями из браузера и в результате своей работы создают много разных txt файлов.

Для обработки данных в этих txt файлах был написан другой PHP скрипт, который запускается по cron'у (команда вида "cd /folder/; php script.php", в панели ISPManager5 Lite на CentOS, если вдруг это важно), но возникла проблема - этот скрипт может читать, но не может вносить изменения в txt файлы из-за недостатка прав (ошибка "Warning: file_put_contents(bla.txt): failed to open stream: Permission denied").

Подскажите, пожалуйста, как сделать так, чтобы PHP скрипты, запущенные кроном, имели тот же уровень прав, что и запущенные из браузера?

Я в администрировании серверов не шарю, поэтому то ли гуглю как-то криво, то ли правда это не такой уж и тривиальный вопрос.

P.S. Да, установка прав доступа на файлы 666/777 решает эту проблему, но это очень нежелательное решение, на случай, если другого нормального не найдется, потому что txt файлов не просто много, а очень много, они появляются и исчезают динамически и т.п.
  • Вопрос задан
  • 123 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Neizlesa Автор вопроса
В общем, решить по правильному у меня так и не получилось, лезть каждый раз напрямую в редактирование заданий для крона в исходники (т.е. не в панели) не вариант, ибо опасаюсь там поломать что-нибудь, а как сделать так, чтобы крон, заданный в панели ISPManager5 из под юзера, получил повышенные права, я найти не смог.

Нашелся такой костыль - оказывается в данной панели крон есть не только под юзерскими аккаунтами, но и под главным админским аккаунтом (рутом) и php скрипты, запущенные из этого крона, имеют все нужные права ко всем файлам и делают все, что надо.

Понятно, что это тоже "костыль", но лучше, чем ничего.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Прописать команде крона того же юзера (скорее всего, www-data), что и у веб-сервера.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы