Pagina 1 van 1

ik snap hem niet

Geplaatst: 25 feb 2005, 22:35
door Erik
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

Geplaatst: 25 feb 2005, 22:46
door meon
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).

Geplaatst: 26 feb 2005, 13:28
door Erik
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

Geplaatst: 26 feb 2005, 14:29
door meon
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.

Geplaatst: 26 feb 2005, 22:12
door ban
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

Geplaatst: 27 feb 2005, 14:22
door Erik
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)