Я ищу хороший учебник или книгу для изучения кроны, чтобы узнать, как создать ее с помощью PHP.
Cronjob не является чем-то, что можно создать как процесс или сценарий Php. Cron – это программа linux, которая позволяет вам вызывать скрипт с регулярным интервалом.
Вы можете видеть, что такое crontab, войдя в вашу Linux-машину как пользователь admin и введите:
root@valugi:~# crontab -e
Вы увидите что-то вроде
*/1 * * * * /usr/bin/php /var/www/somesite/public/cron.php
Это означает, что каждую минуту я выполняю cron.php.
Теперь вы можете захотеть, чтобы разные сценарии выполнялись в разное время и хотите передать эту логику на уровень php вместо уровня linux. Если это так, вы можете назвать свой cron-скрипт наименьшим знаменателем времени (например, минут), а в cron.php построить некоторую логику, которая будет вызывать в разное время другие скрипты.
Я использую, например, интерфейс Cronable:
interface Cronable { public function cron(); }
И каждый класс, который хочет быть вызванным cron.php, должен реализовать этот интерфейс и функцию cron (), которая укажет, какова конкретная частота вызова. Cron.php получит все эти классы и будет сравнивать текущее время с этим временем и решит выполнить вызов или нет.
я не думаю, что вам нужна целая книга, чтобы узнать это.
в основном вы просто пишете свой скрипт, как всегда (избегайте использования $_SERVER
), и сделайте запись в своем crontab следующим образом:
* * * * * [/path/to/php/]php /path/to/your/script/script.php
Я начинаю с этого:
Написание и автоматизация PHP-Crons в Windows и Linux
Вы не создаете его с помощью PHP. Вы создаете его с помощью crontab(1)
.
или вы можете просто открыть CPANEL и искать CRONJOBS. там вы можете выбрать, какой php-файл или сценарий вам нужно запустить, и когда это делать, один раз в час, в день, каждое воскресенье и так далее.
Как говорили другие, cron
– это не то, что вы бы назвали в PHP, что объясняет, почему вы не нашли учебников для этого.
Вопрос в том, что именно вы пытаетесь сделать? Вы хотите регулярно запускать PHP-программу? Если это то, что вы хотите сделать, тогда да, вам понадобится cron, но ничего об этом не будет специфичным для PHP, поэтому просто найдите cron-руководства по форматированию файлов crontab.
Если вы хотите настроить свою настройку cron в PHP (как это делается с вашего вопроса), вам нужно будет изменить файл crontab
. Это простой текстовый файл, поэтому загрузить его и сохранить его будет так же просто, как и любой другой текстовый файл. (Вероятно, у вас могут возникнуть проблемы с правами на доступ к файлам, но это то, о чем вы, вероятно, должны получить помощь отдельно).
Чтобы изменить настройки crontab, вам нужно знать, как отформатировать записи в файле crontab, поэтому снова будут полезны те же самые связанные с cron уроки, о которых я говорил выше (т. Е. Не нужно включать «PHP» в ваш поиск). Затем напишите программу php, которая может сохранять данные в этом формате. Это на самом деле не очень сложный формат, поэтому, если вы знаете PHP достаточно хорошо, вы должны иметь возможность разобраться в том, как анализировать данные. (но сообщите нам, если вам нужна дополнительная помощь)
Надеюсь, что это поможет вам начать работу.