Функция Wordpress Cron с использованием Cpanel

Я пишу часть своего сайта wordpress с помощью php и работаю над написанием cron, который работает на моем сайте wordpress. Я не хочу использовать cron wordpress, потому что он выполняется только тогда, когда люди заходят на вашу страницу, поэтому я хотел бы использовать cpanel cron, но иметь возможность ссылаться на кешированный объект в wordpress, но я не использовал cpanel cron и не знаю как полностью ссылаться на него с помощью php. Могу ли я сделать задание cron cpanel в php и запускать его ежечасно и кэшировать переменную, которая будет использоваться wordpress, без того, чтобы wordpress запускал его каждый раз, когда я загружаю его при включении файла в wordpress? Должен ли я включать все файлы в php, чтобы использовать переменную, или глобальная переменная в php доступна во всех файлах php? Я новичок, когда дело доходит до использования cpanel, php и wordpress. Я знаю, что это много, чтобы спросить, но я очень ценю это.


person Dan    schedule 19.06.2011    source источник
comment
Нет такой вещи, как cpanel cron. Есть только система cron, предоставляемая вашей серверной ОС, и интерфейс cpanel для нее. Вы можете запускать все, что хотите, через cron. Если вы можете заставить свой скрипт кэширования работать из командной строки, то он ДОЛЖЕН работать из cron, если вы убедитесь, что все пути и разрешения верны.   -  person Marc B    schedule 19.06.2011


Ответы (3)


Я хотел бы, чтобы все знали, кто хочет сделать свой собственный cron из wordpress, чтобы посмотреть здесь.
http://wpdailybits.com/blog/replace-wordpress-cron-with-real-cron-job/74

Я ценю помощь каждого, но это отличный обзор, который я нашел.

person Dan    schedule 20.06.2011

Вы можете подключить его к cron Wordpress, а затем добавить задание cron в cPanel для запуска такой команды:

curl http://mysite.com/wp-cron.php

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

person lunixbochs    schedule 19.06.2011
comment
Хорошо, это больше похоже на это. Таким образом, при использовании wp_schedule_event для передачи его в cron wordpress я могу просто подключить cron cpanel к файлу wp-cron.php, который будет запланирован на сервере. - person Dan; 19.06.2011

Во-первых, как говорит Марк Б., не существует разных cron. Рассматривайте cron как запланированное задание. Вы хотите, чтобы он работал в разное время/дни. CPANEL предоставляет интерфейс для запуска cron.

Теперь об указании crons через cpanel... если вы находитесь на общем хосте, обычно хост может ограничивать доступ к командной строке. Конечно, это также будет зависеть от типа предоставленного вам хостинг-пакета. Вот почему существует интерфейс CPANEL. Это более безопасный способ указать вашу работу. В противном случае новичок может поэкспериментировать и дать неверную команду, которая может сделать систему уязвимой.

Теперь, вот как вы должны указать свое задание cron.

  1. Создайте файл PHP, который нужно запускать по расписанию.

  2. Пройдите через интерфейс cpanel, чтобы создать задание cron. Я надеюсь, что вы можете найти его.

  3. Теперь в отведенном месте введите что-то вроде этого примера:

    php -q /home/myhost/public_html/myfolder/mycronjob.php

    В приведенном выше примере вы говорите, что запускаете cron с PHP. Путь к файлу указывается со ссылкой на место на диске. Не беспокойтесь, этот путь (/home/myhost) недоступен для публики напрямую. Вот как некоторые хосты требуют, чтобы вы указали местоположение. Так что вам нужно проконсультироваться с вашим хостом или вы можете найти ссылку на него в cpanel.

  4. Теперь дайте дни / время, чтобы запустить его. Для этого есть ящик или группа ящиков. Например, вы можете ввести 0 5 * * *, и задание будет выполняться ежедневно в 5:00 утра.

Надеюсь, это поможет :)

person itsols    schedule 19.06.2011
comment
Есть ли способ запустить запланированное задание, просто написав php и не заходя в интерфейс cpanel? - person Dan; 19.06.2011
comment
да, вы можете создать cron из командной строки. Но я полагаю, вы хотели использовать cpanel. И если вы спрашиваете, можно ли избежать этих методов, то нет. Надо как-то завязать это с ОС. Поэтому, если вы не заинтересованы в создании cron, вы можете включить php-код в какой-то момент, например, в точке входа администратора или что-то в этом роде. Таким образом, каждый раз, когда администратор входит в систему, код запускается. Но это НЕ работа cron. - person itsols; 19.06.2011
comment
Я думал о том, чтобы попытаться сделать повторно используемый код, и мне не нужно было подключаться к cpanel, если я когда-нибудь думал о создании плагина. Отсюда мой вопрос. Возможно ли, чтобы php подключался к cron сервера? Насколько я понимаю из вашего ответа, вам потребуется доступ к пользователю/паролю сервера, чтобы запланировать задачу cron. - person Dan; 19.06.2011
comment
Во-первых, я думал, что ответил на ваш вопрос о самостоятельном запуске cron без WP. Но теперь кажется, что ваше требование заключается в чем-то другом. В любом случае, отвечая на ваш новый вопрос, да, у crons должен быть правильный пользователь сервера. В противном случае у вас будут проблемы с безопасностью. - person itsols; 19.06.2011