Avatar billede lopolla123 Nybegynder
09. december 2005 - 14:21 Der er 10 kommentarer og
1 løsning

php i crontab på linux

Jeg har et underligt problem, når jeg på min linuxserver kører scripts igennem cront (crontab'en). Hvis jeg kører scriptet i hånden virker det fint fint, men når det kører igennem cron så kører det ikke!

Her ses det:
50 5 * * 1 php /home/Logic/SendMailReminder.php

Har også forsøgt mig med denne (der ellers virker ved andre PHP-scripts):
*/5 * * * * php /home/Logic/SendMailReminder.php

Dvs.
1. PHP scripts igennem crontab'en virker generelt, men enkelte virker ikke.
2. Det har tilsyneladende ikke noget at gøre med selve måden crontab'ener opsat på (*/5 * * * *).

Jeg sidder bare og tænker på om man skal gøre noget særligt, når man anvender PHP fra cron/prompt.....

Glæder mig til at høre gode forslag, evt. andre der har haft lignende problem og løst det (på en og anden måde).

Jeg kører Red Hat Enterprise og PHP 4.3.11.
Avatar billede jakobdo Ekspert
09. december 2005 - 14:33 #1
Du kan evt tilføje:
I toppen af crontab -e
MAILTO="din@email.dk"
Så vil evt. fejl blive sendt til dig.
Normalt er php ikke nok, men hele stien:
/usr/bin/php dinscript.php
Avatar billede lopolla123 Nybegynder
09. december 2005 - 14:36 #2
Jeg prøver lige med hele stien!
Avatar billede lopolla123 Nybegynder
09. december 2005 - 14:41 #3
OK - der kommer nogle fejl...........den kan ikke finde noget sendmail........sikkert en funktion jegselv kører - kigger lige på det - foreløbig tak for hjælpen!
Avatar billede lopolla123 Nybegynder
09. december 2005 - 14:42 #4
Jegvender lige tilbage :-)
Avatar billede jakobdo Ekspert
09. december 2005 - 14:43 #5
Har du husket at tilføje:
MAILTO i toppen?
Det kan evt også hjælpe med fejlsøgningen!
Avatar billede lopolla123 Nybegynder
09. december 2005 - 14:54 #6
Ja :-) Masser af forskellige "fejl", dvs. bareoutput fra scripts......

Men der kommer en fejl....

sh: sendmail: command not found
Den kommer nok på baggrund af:
mail($to, $subject, $message, $headers);

Det er som om, at cron fortolker det som programmet sendmail?
Nogle forslag der?
Avatar billede jakobdo Ekspert
09. december 2005 - 15:17 #7
php bruger vel sendmail på dit system til at sende email.
Kan du bruge mail() i php ellers?

Prøv evt at kig nærmere her: http://dk.php.net/mail
Avatar billede skau Nybegynder
09. december 2005 - 16:09 #8
Når dit script kører fra cron har den et minimalt environment - det er bla pga det at du skal angive hele stien til php.

Jeg ville sætte min PATH i starten af scriptet så den kan finde sendmail mm. - evt kalde en env fil med . så den sources ind i
Avatar billede lopolla123 Nybegynder
14. december 2005 - 12:06 #9
Det virker ganske godt! Mange tak for hjælpen. Du er MEGET velkommentilat få point - bare svar så er der point :-)
Avatar billede jakobdo Ekspert
14. december 2005 - 12:54 #10
Svar!
Avatar billede jakobdo Ekspert
14. december 2005 - 13:14 #11
Takker for point!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester