Jump to content
php.lv forumi

php no crontab


jeenyus

Recommended Posts

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ā

Link to comment
Share on other sites

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)..

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...