ik snap hem niet

Alles over programmeren en development binnen de IT-wereld
Plaats reactie
Gebruikersavatar
Erik
Elite Poster
Elite Poster
Berichten: 1321
Lid geworden op: 15 sep 2002, 02:46
Uitgedeelde bedankjes: 2 keer
Bedankt: 18 keer

hallo,

ik probeer een cronjob aan de praat te krijgen (de unix variant van de windows "scheduled tasks" je moet het volledige path opgeven naar het cronscript en dat krijg ik maar niet aan de praat :twisted: volgens mij heeft da wat te maken met deze phpcode

Code: Selecteer alles

if (strlen(__FILE__) > strlen(basename(__FILE__)))
    define ('phpAds_path', ereg_replace("[/\\\\]maintenance[/\\\\][^/\\\\]+$", '', __FILE__));
else
    define ('phpAds_path', '..');
bij mijn weten is "__FILE__" een PHP konstante die het huidige script da wordt uitgevoerd aangeeft asde da wilt gebruiken moede eerst instellen mee "define()" het cronscript noemt "maintenance.php" maar ...

Afbeelding

asde daar in da vakske invult "maintenance.php" krijg ik no such file or directory geef ik het complete path naar dat bestand op (inclusief maintenance.php) dan krijg ik ook fouten so what the ???? :evil: ik heb dit gepost is de maker van dat script zijn forum maar hij is int slaap gevallen peis ik
Registered Linux user #286313
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16757
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 582 keer
Bedankt: 780 keer
Provider

Je gebruikt toch de cgi-binary van php om die uit te voeren eh?
een cronjob ziet er dan zo uit:
0 * * * * /usr/local/bin/php /pad/naar/het/php/script.php >/dev/null

Je kan het ook via lynx doen, dan heb je:
0 * * * * lynx --dump http://jesite.be/script.php >/dev/null

Niet vergeten dat .php files niet uitvoerbaar zijn en je dus als parameter moet doorgeven aan een parser (bvb de cgi binary).
Gebruikersavatar
Erik
Elite Poster
Elite Poster
Berichten: 1321
Lid geworden op: 15 sep 2002, 02:46
Uitgedeelde bedankjes: 2 keer
Bedankt: 18 keer

yow meon,

nee php is geinstalleerd as apache module.En dat je dat ook via lynx kan doen dat wist ik maar dt is niet toegelaten door de host ... da van die /dev/null ernaast dat wist ik niet da zal ik eens proberen en moet php daarvoor mee die binary werken ? binarys werken toch ni op linux (redhat enterprise linux) da zal ik eens lezen in de php manual se hoe je php precies gebruikt vanaf de command line
Registered Linux user #286313
Gebruikersavatar
meon
Administrator
Administrator
Berichten: 16757
Lid geworden op: 18 feb 2003, 22:02
Twitter: meon
Locatie: Bree
Uitgedeelde bedankjes: 582 keer
Bedankt: 780 keer
Provider

Erik, dat is het hem juist: als je het via een cron uitvoert MOET het via de cgi-binary (en wat zouden binaries niet bestaan op unix? als je ze compileert zijn ze nu eenmaal binary eh). De lynx-oplossing (lynx is een shell-browser) is voor indien je de php-binary niet kan gebruiken (maar dan heb je nu eenmaal lynx nodig).
Dat php geïnstalleerd is als apache-module doet zelfs niet terzake: ergens zal de cgi-binary wel staan.
En die /dev/null is om te vermijden dat je telkens je de cron uitvoert een mail krijgt met de output.
hoe je php precies gebruikt vanaf de command line
Ik denk dat dat net is wat ik je in vorige post heb gezegd ...
Bij dommel staat die binary op /usr/local/bin/php .

//edit: ah ja, in Plesk 7 kan je /dev/null niet ingeven, enkel een emailadres. Om dat te doen moet je in de shell de cron-file editen.
Gebruikersavatar
ban
Pro Member
Pro Member
Berichten: 232
Lid geworden op: 22 maa 2004, 16:21

meon, helemaal mee eens.

ps: ipv lynx zou ik aan willen raden wget te gebruiken.

lynx is een echte browser die bvb ook tables gaat proberen renderen enz. dat zal niet veel uimaken als je ieder uur een scriptje runt, maar als je dit (veel) vaker wil doen, of meer dan 1 crontab entry, zou je dat best kunnen voelen.

try:
0 * * * * wget -q -O - http://jesite.be/script.php
Gebruikersavatar
Erik
Elite Poster
Elite Poster
Berichten: 1321
Lid geworden op: 15 sep 2002, 02:46
Uitgedeelde bedankjes: 2 keer
Bedankt: 18 keer

meon schreef:Erik, dat is het hem juist: als je het via een cron uitvoert MOET het via de cgi-binary (en wat zouden binaries niet bestaan op unix? als je ze compileert zijn ze nu eenmaal binary eh). De lynx-oplossing (lynx is een shell-browser) is voor indien je de php-binary niet kan gebruiken (maar dan heb je nu eenmaal lynx nodig).
Dat php geïnstalleerd is als apache-module doet zelfs niet terzake: ergens zal de cgi-binary wel staan.
En die /dev/null is om te vermijden dat je telkens je de cron uitvoert een mail krijgt met de output.
hoe je php precies gebruikt vanaf de command line
Ik denk dat dat net is wat ik je in vorige post heb gezegd ...
Bij dommel staat die binary op /usr/local/bin/php .

//edit: ah ja, in Plesk 7 kan je /dev/null niet ingeven, enkel een emailadres. Om dat te doen moet je in de shell de cron-file editen.

je hebt gelijk meon dat wist ik niet als je gewoon de php binary meegeeft werkt hij zonder tegen te spruttelen ;) met die /dev/null en al erbij good old pico ;) nu krijg ik geen errors meer van de cron daemon hei hei da werd tijd thanks (both of you)
Registered Linux user #286313
Plaats reactie

Terug naar “Development”