Wordpress Cron функция с помощта на Cpanel

Пиша wordpress част от моя сайт с php и работя върху писането на cron, който работи в рамките на моя wordpress сайт. Не искам да използвам wordpress cron, защото той се изпълнява само когато хората дойдат на вашата страница, така че бих искал да използвам cpanel cron, но да мога да препратя към кеширан обект в wordpress, но не съм използвал cpanel cron и не знам как да го реферирате напълно с php. Мога ли да направя cpanel cron задание в 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

Можете да го закачите в Wordpress cron, след което да добавите cron задание в cPanel, за да изпълните команда като тази:

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

След това можете да го напишете с помощта на wp-cron и знаете, че wp-cron ще има шанс да работи редовно, дори ако никой не посещава сайта.

person lunixbochs    schedule 19.06.2011
comment
Добре, тези изглеждат по-скоро. Така че, когато използвам wp_schedule_event, за да го заведа до wordpress cron, мога просто да закача cron на cpanel към файла wp-cron.php, който ще го планира със сървъра. - person Dan; 19.06.2011

Първо, както казва Марк Б, няма различни crons. Разгледайте 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