Intereting Posts
PHP – MD5, SHA, Хейшинг-безопасность Композитор: требуемые пакеты с разным уровнем минимальной стабильности Как определить поддержку X-Accel-Redirect (Nginx) / X-Sendfile (Apache) в PHP? Как определить текущий язык Joomla! Веб-сайт? PHP: относительно абсолютных URL-адресов в curl'ed html Для php flush – как отключить gzip для определенного файла? Как умножить число до достижения однозначных чисел и подсчета числа? Получение информации из Календаря Google с использованием domdocument php Как отключить регистрацию нового пользователя в Laravel 5 пытаясь загрузить файл с помощью загруженного файла ajax, но в поврежденном php ajax jquery Профилактика XSS в PHP Как сделать $ _POST более защищенным? Как я могу отправить несколько элементов через кнопку «Купить сейчас» в Paypal идентификация повторяющихся чисел или числовых шаблонов в php Заполнение результатов SQL в PHP – Не получение полного массива

Как установить crontab с помощью php?

Мне нужно установить crontab из php-скрипта. я знаю, что он может быть установлен

system("echo '* * * * * echo \"Hello world\"' >> cron.crontab"); system("crontab cron.crontab"); //cron.crontab is the file name of the crontab

Файл cron.crontab создается в корневом каталоге, но crontab работает не так, как ожидалось! когда я пытаюсь выполнить следующую команду, он говорит, что не установлен crontab!

crontab -l

Я думаю, что я чего-то не хватает. Я использую структуру yii. есть ли расширение для обработки cron в структуре yii? есть ли другой способ сделать это? Пожалуйста, помогите мне. Благодарю.

Вы используете crontab -l как тот же пользователь, что и веб-сервер? В противном случае вы не увидите его кроны.

Apache, как правило, не сможет обманывать главный кронтаб. Тем не менее, у каждого пользователя есть и crontab, и вполне вероятно, что в вашем коде выше устанавливается crontab apache (или crontab для любого пользователя, на котором работает ваш сайт).

Попробуйте crontab -u apache -l или замените apache любым пользователем, на котором работает ваш сайт, и посмотрите, есть ли установленные вами записи.

Обычно вы должны быть root, чтобы установить crontab, и это в отличие от того, что php работает как root, и в этом случае вам не повезло.

Редактировать: Не совсем не повезло. См. Ссылку в комментарии Себастьяна выше.