Как установить 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, и в этом случае вам не повезло.

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