Page 1 of 1

PHP über Console statt wget

Posted: 2006-10-11 15:26
by phoku
Hallo,

ich habe ein Skript, das per Cronjob über ein wget gerufen wird. Ich möchte mir nun den Umweg über den Apache sparen, und es direkt per PHP aufrufen. also
php skript.php statt wget http://www.domain.de/skript.php.
Nur leider fehlen ihm bei der Variante ein paar Konstanten, z.B. DOCUMENT_ROOT und er findet die includes der Skripte nicht.
Hat jemand einen Rat? Vielen Dank!

MfG
phoku

Re: PHP über Console statt wget

Posted: 2006-10-11 15:33
by Roger Wilco
phoku wrote:Hat jemand einen Rat?
Ausschließlich absolute Pfadangaben für alle Dateioperationen benutzen.

Was sollte denn deiner Meinung nach in $_SERVER['DOCUMENT_ROOT'] stehen, wenn das Skript via CLI aufgerufen wird?

Re: PHP über Console statt wget

Posted: 2006-10-11 15:36
by phoku
vielleicht kann man da beim Aufruf ja einen Pfad reinsetzen? Ausschließlich absolute Pfade zu benutzen würde bedeuten, dass ich auch in allen includierten Dateien absolute Pfade setze, was nicht praktikabel ist.

Re: PHP über Console statt wget

Posted: 2006-10-11 15:49
by Roger Wilco

Code: Select all

cd /working/dir/;/usr/bin/php /path/to/script.php
Dann funktionieren Pfade relativ zu /working/dir/. Ansonsten: No pain, no gain.

Re: PHP über Console statt wget

Posted: 2006-10-11 19:38
by r. u. serious

Re: PHP über Console statt wget

Posted: 2006-10-13 00:21
by lucki2
und er findet die includes der Skripte nicht.
:?:
Ich weiß nicht genau wofür Du die Document Root brauchst. Für includes brauchst Du sie nicht. (ack R. U. Serious )

Hast Du ein anderes Problem? Was funktioniert nicht?

Ich habe Dir das dazu noch rausgesucht(hättest Du selber können!):
http://de.php.net/include/
http://de.php.net/manual/en/ini.core.ph ... clude-path

Re: PHP über Console statt wget

Posted: 2006-10-13 07:46
by flo
PHP bietet die Möglichkeit, auf der Kommandozeile eine andere .ini-Datei zu benutzen - gerade für Direktaufrufe hilfreich, da Du andere Zugriffe bruachst, die gegebenenfalls aus Sicherheitsgründen für Webaufrufe deaktiviert hast.

flo.