webForumDet fria alternativet

Php + Cronjob fel...

9 svar · 255 visningar · startad av UrMe

UrMeMedlem sedan apr. 2001762 inlägg
#1

Jag får felmeddelanden i koden när jag försöker köra en php fil med hjälp av cronjob. Jag är ingen höjdare på cronjobs.. men servern jag använder finns ett admin program där man ställer in tid etc och fullständig sökväg till filen.

Den exekverar filen men det blir php fel...

/home/urme/www/xmluppdatering/guilduppd_cron.php: syntax error near unexpected token `include("databaskoppling.php")'
/home/urme/www/xmluppdatering/guilduppd_cron.php: /home/urme/www/xmluppdatering/guilduppd_cron.php: line 1: `include("databaskoppling.php");'

Jag vet inte om man ska ha <?php med? .. men iallafall så blir det fel på den saken också om man har med det..

/home/urme/www/xmluppdatering/guilduppd_cron.php: ?php: No such file or directory

Kan nån förklara vad jag ska göra för att det ska fungera :)

det blir alltså fel på varenda rad i princip...

spangoMedlem sedan juni 20008 205 inlägg
#2

Det är en helt vanlig PHP-fil, scriptet märker (typ) inte att det inte är en webbläsare i andra änden. All kod i PHP-filen ska således precis som vanligt ligga inom PHP-"taggar". I cronfilen ska du förstås inte ha några sådana, eftersom crond inte känner till något om PHP.

Felet har dock inget med att det körs som ett cronjobb. Felmeddelandet säger precis vad det är som är fel. Prova att köra det från en webbläsare...

UrMeMedlem sedan apr. 2001762 inlägg
#3

Är ju en liten nybörjare på detta.. men det funkade om jag körde
/usr/bin/lynx <sökvägen till filen>

:)

Tack! :)

spangoMedlem sedan juni 20008 205 inlägg
#4

Det borde det inte ha gjort eftersom filen ju innehöll ett syntaxfel... :q

UrMeMedlem sedan apr. 2001762 inlägg
#5

Nja.. jag vet inte.. men förut så körde jag bara sökvägen direkt till php scriptet.. och den förstod väl inte hur man exekverade php filen själv? ..

Men om jag la till lynx så den körs därigenom blev det inga fel.

EDIT: Alltså de där felmeddelandena fick jag på mailen av servern när han försökte köra filen utan lynx :)

Den har alltid funkat i vanliga IE

spangoMedlem sedan juni 20008 205 inlägg
#6

Aha ja :)
Du borde nog köra lynx -dump <adress till filen> i stället för bara lynx, dock.

cefalkMedlem sedan juni 2000278 inlägg
#7

Jag kör enligt nedan på min webbserver.

php /home/urme/www/xmluppdatering/guilduppd_cron.php &>/dev/null
UrMeMedlem sedan apr. 2001762 inlägg
#8

Okej jag la till -dump också.

Men när vi ändå är inne på ämnet så har jag ett annat script som inte funkade så bra att köra med cronjob.. vet inte om ni kollade i min andra tråd.. där jag hämtar info från runt 2100 xml filer och lägger in i en databas.. det är uppbyggt så att den hämtar 50 filer med hjälp av header-location.. sedan refreshar den sidan och fortsätter med nästa 50 etc.

men jag får ett felmeddelande på mailen från cronjob.. den körde scriptet ett tag iallafall

Felmeddelandet:

Failed to open terminal.(B)0Getting [url]http://www.xxxxxx.com/phpfil.phpLooking[/url] up [url]www.xxxxxx.com.[/url][mMaking HTTP connection to [url]www.xxxxxxx.com.Sending[/url] HTTP request.HTTP request sent; waiting for response.Alert!: Unexpected network read error; connection aborted.Can't Access `[url]http://www.xxxxxx.com/phpfil.phpAlert[/url]!: Unable to access document.



  Your Terminal type is unknown!

  Enter a terminal type: [vt100] 
TERMINAL TYPE IS SET TO vt100

lynx: Can't access startfile [url]http://www.xxxxxx.com/phpfil.php[/url]

Vet inte om -dump skulle hjälpt? eller om man ska skriva nåt annat..

Vågar inte prova igen innan jag vet säkert att det fungerar ;) eftersom det blev unexpected network read error etc :)

Nån idé ? ... i Internet Explorer tog det igår ungefär 40min att köra detta script.

spangoMedlem sedan juni 20008 205 inlägg
#9

Ja, jag tror att det borde lösa saken... använder man -dump spottar lynx nämligen bara ur sig det den läser på stdout utan att bry sig om var det då hamnar, i stället för att försöka "öppna" terminalfönstret, vilket kan bli lite konstigt om man inte har något ;)

Dock borde cefalks förslag (med /sökväg/till/php /home/urme/www/xmluppdatering/guilduppd_cron.php >/dev/null) också funka (och är att föredra eftersom man blandar in minimalt få andra program) om du har CGI-modulen för PHP.

UrMeMedlem sedan apr. 2001762 inlägg
#10

tackar! ska prova båda förslagen!

133 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)