Zadejte hledaný výraz...

PHP scripty spustane cez CRON

izzi
verified
rating uzivatele
(1 hodnocení)
28. 8. 2009 12:45:56
Dobry den,
od vcera som zacal vyuzivat CRON od mojho poskytovatela webhostingu. Oni mi to sami nastavili. Script ktory som dal spustat kazdy den v noci, rozosiela e-maily uzivatelom s novinkami na webe. Taktiez ma upozornili na to, ze v CRONU je uplne ine prostredie na spracovanie kodu. Hned prvy ostry start mi hodil chybu s funkciou include. Chcem sa tak spytat ci na nete nie je nieco viac napisane o programovani a naslednym spustanim scriptov cez cron, nemozem nic najst. Chcel by som to cele upravit, aby to bolo bezproblemove. Dakujem.
28. 8. 2009 12:45:56
https://webtrh.cz/diskuse/php-scripty-spustane-cez-cron/#reply362398
Martin Klíma
verified
rating uzivatele
(13 hodnocení)
28. 8. 2009 12:52:29
Napsal izzi;350644
Dobry den,
od vcera som zacal vyuzivat CRON od mojho poskytovatela webhostingu. Oni mi to sami nastavili. Script ktory som dal spustat kazdy den v noci, rozosiela e-maily uzivatelom s novinkami na webe. Taktiez ma upozornili na to, ze v CRONU je uplne ine prostredie na spracovanie kodu. Hned prvy ostry start mi hodil chybu s funkciou include. Chcem sa tak spytat ci na nete nie je nieco viac napisane o programovani a naslednym spustanim scriptov cez cron, nemozem nic najst. Chcel by som to cele upravit, aby to bolo bezproblemove. Dakujem.
Nejsem žádnej expert ale mám dojem že musíš používat absolutní cesty..
Absolutní cestu si vypíšeš tímhle
echo $_SERVER;
28. 8. 2009 12:52:29
https://webtrh.cz/diskuse/php-scripty-spustane-cez-cron/#reply362397
Chang
verified
rating uzivatele
28. 8. 2009 14:33:27
Jiná konfigurace to být může. PHP má tři způsoby spouštění a každý má svojí konfiguraci:
  • php-cli (příkazová řádka)
  • mod_php (modul pro Apache)
  • php-cgi (CGI verze, některé servery, jako Lighttpd, používají FastCGI rozhraní místo těch modulů)
V případě php-cli se pro include souborů používá většinou tento zápis:
include(dirname(__FILE__).'/soubor.php');
Jinou možností je nepouštět CRONem přímo PHP skript, ale použít command-line web browser, který ho pak spustí tradiční webobou cestou. Například wget, lynx nebo curl. A je dobré výstup skriptu přesměrovat na /dev/null, aby to nevypisoval někam do logu. Např.:
28. 8. 2009 14:33:27
https://webtrh.cz/diskuse/php-scripty-spustane-cez-cron/#reply362396
milan
verified
rating uzivatele
28. 8. 2009 15:42:22
Správný profesionál má minimálně vývojové a produkční prostředí, ideálně obě stejně nakonfigurované.
Jestli to nemáš, tak si to tak zaveď. Přece nebudeš problémy ladit někde na cizím serveru. Nainstaluj si virtuální počítač s Linuxem a tam všechno odladíš jedna dvě. Včetně cronu.
28. 8. 2009 15:42:22
https://webtrh.cz/diskuse/php-scripty-spustane-cez-cron/#reply362395
izzi
verified
rating uzivatele
(1 hodnocení)
29. 8. 2009 01:40:14
dakujem kazdemu, vyskusam
milan: vdaka za tip
29. 8. 2009 01:40:14
https://webtrh.cz/diskuse/php-scripty-spustane-cez-cron/#reply362394
Filip
verified
rating uzivatele
12. 9. 2009 17:33:16
Napsal izzi;351050
dakujem kazdemu, vyskusam
milan: vdaka za tip
Nejsem teda žádná profesionál, ale ze své zkušenosti vím, že pokud zadáváš CRON scripty pouze někde na webu do administrace popřípadě Ti to poskytovatel hostingu sám nakonfiguroval, tak pokud jsou to např. aplikace (scripty) v PHP, tak je lze otestovat naprosto jednoduše.
Budu mít soubor např.
http://cron.malicky.eu/cron1.php?amp=3
Zadám tedy do CRON tabulky tento odkaz, popřípadě vyplním na webu či poskytovatel je určitě schopný a vyplní ho naprosto bez problému.
V drué části ověřím funkci zadáním celého odkazu do prohlížeče a pokud nevyhodí žádnou chybu musí fungovat i při spuštění vzdáleného CRON.
Ještě se mi nestalo touto metodou aby něco někdy nějak nefungovalo, popřípadě abych musel zavádět jiné cesty v include/require a podobně.
Jednoduše řečeno ten PHP script musí pracovat jak na straně Tvého prohlížeče, tak na straně serveru naprosto stejně. I v případě, že by server vykonal příkaz pouze:
http://localhost/www/malicky/subdomeny/cron/cron1.php
tak výsledek musí být stejný jako pokud zadáš do adresního řádku prohlížeče http://cron.malicky.eu/cron1.php
Za tím si stojím. Otestováno již na mnoha serverech.
A pokud Ti to opravdu vyhazuje, že je neplatná cesta k souboru v include spíše bych se zaměřil jestli ten soubor existuje a zdali není cesta opravdu špatná i v originální verzi.
12. 9. 2009 17:33:16
https://webtrh.cz/diskuse/php-scripty-spustane-cez-cron/#reply362393
milan
verified
rating uzivatele
13. 9. 2009 08:53:52
Napsal Malicky.eu;359897
Nejsem teda žádná profesionál...
To vidíme.
13. 9. 2009 08:53:52
https://webtrh.cz/diskuse/php-scripty-spustane-cez-cron/#reply362392
izzi
verified
rating uzivatele
(1 hodnocení)
13. 9. 2009 12:06:44
Malicky.eu:
Ja som najprv tiez spustal scripty normalne - zadanim adresy, nevyhodilo mi to ziadnu chybu. Ale hned po prvy raz po spusteni cronom mi to dalo chybu v include. Zmenil som to ako mi tu poradili a teraz to bezi cele v pohode...
13. 9. 2009 12:06:44
https://webtrh.cz/diskuse/php-scripty-spustane-cez-cron/#reply362391
Filip
verified
rating uzivatele
14. 9. 2009 03:07:47
Napsal milan;360120
To vidíme.
Tak já nevim viď :) Ale já jsem teda nikdy zrovna s tímhle problémy neměl, že by CRON nemohl naincludovat nějaký potřebný soubor :) A nedá se říct, že bych používal jen Billův systém.
14. 9. 2009 03:07:47
https://webtrh.cz/diskuse/php-scripty-spustane-cez-cron/#reply362390
Pro odpověď se přihlašte.
Přihlásit