jeenyus Posted April 15, 2009 Report Share Posted April 15, 2009 sveiki! ir RHEL4 gribēju palaist php skriptu no crontab. man ir skripts #!/bin/sh /opt/apache/php/bin/php /utils/script.php no komandrindas skripts nostrādā, bet no crontab nekas nenotiek. logs rāds,ka skripts tiek palaists, bet nekas nenotiek. drošvien var palaist skriptu ar lynx, bet tas variants man nepatīk. nav skaidrs, kapē crontab nenostrādā Quote Link to comment Share on other sites More sharing options...
Roze Posted April 15, 2009 Report Share Posted April 15, 2009 Pamēģini palabot to contrab scriptu kaut kā šādi #!/bin/sh /opt/apache/php/bin/php -d display_errors=1 /utils/script.php >> /utils/log.log -d display_errors=1 <- opctionāli ja uz webservera ir izslēgts erroru rādīšana Šādi tev skripts outputu iemetīs logfailā un varēsi saprast kas par problēmu... Visbiežāk ar crontabu ir tā ka crontabs nedefinē CWD (current working directory) līdz ar to php skriptu kas kaut ko includo no relatīviem pathiem neizpildās.. Ir protams arī interesanti gadijumi (piemēram Oracle utt) kur crontab skriptam speciāli jādefinē dažādi ENV variabļi (kas noklusēti nāk no konsoles lietotāja kad komanda tiek izpildīta shellā bet crontabam nav).. Quote Link to comment Share on other sites More sharing options...
marcis Posted April 15, 2009 Report Share Posted April 15, 2009 A kāpec php skriptā būtu jābāž šitās #!/bin/sh ? Vai tik php-cli shell's nebija /usr/bin/php ? Citādi, ja laid, piemēram "php -q skripts.php", tad shell'u vispār nevajag. Quote Link to comment Share on other sites More sharing options...
Delfins Posted April 16, 2009 Report Share Posted April 16, 2009 pieraksti iekš bin-path savu PHP direktoriju, varēs iekš crona/shella laist arī `php -q xx.php` Otrkārt, /bin/sh vispār nafig nav vajadzīgs.. Ātrākais variants tad būtu, ja strādā esošais variants, iekopēt to textu iekš `mans_super_job`, iedod execute tiesības un ielikt cronā kā jebkuru citu programmu. Quote Link to comment Share on other sites More sharing options...
Klez Posted April 16, 2009 Report Share Posted April 16, 2009 nezinu par tiem ENV vaiabļiem, bet man strādā no cron skripts: /usr/bin/php5 /cels/uz/skriptu.php un skriptu.php ir: require("conf.php"); require("lib.php"); un viss darbojas. bet ja tu konsolē ieraksti: /opt/apache/php/bin/php /utils/script.php kaut kas notiek? vai nav pieejas konsolei? Quote Link to comment Share on other sites More sharing options...
jeenyus Posted April 16, 2009 Author Report Share Posted April 16, 2009 vainīgas bija relatīvās includes sankjū verī menī Quote Link to comment Share on other sites More sharing options...
Roze Posted April 17, 2009 Report Share Posted April 17, 2009 nezinu par tiem ENV vaiabļiem, bet man strādā no cron skripts: /usr/bin/php5 /cels/uz/skriptu.php un skriptu.php ir: require("conf.php"); require("lib.php"); Ganjauka ir definēts include_pathos .. Otrkārt, /bin/sh vispār nafig nav vajadzīgs..Ir ja tu skriptā vēlies darīt citas darbības ka nav saistītas ar php (while / sleep (ar php sleepot ir besis) etc).. Minētais piemērs var būt tikai vienas rindiņas izrāvus.. .. bet nu problem solved.. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.