PHP-Script per Cron-job starten
Hallo NG,
habe mir gerade ein PHP-Script gebastelt, das regelmässig per cron-job auf meinem Internet-Server laufen soll.
Die Ausführung per Browser funktioniert einwandfrei, doch der Admin von meinem Internet-Server bekommt beim crontab-Start folgende Fehlermeldung:
....<script-pfad>...?php: No such file or directory
Muss das Ding eventuell im cgi-bin-Verzeichnis liegen?
Wie kann man das Script zum Laufen bringen?
Gruss, Helmut
Re: PHP-Script per Cron-job starten
Helmut Blass schrieb:
> Hallo NG, habe mir gerade ein PHP-Script gebastelt, das regelmässig
> per cron-job auf meinem Internet-Server laufen soll. Die Ausführung
> per Browser funktioniert einwandfrei, doch der Admin von meinem
> Internet-Server bekommt beim crontab-Start folgende Fehlermeldung:
>
> ...<script-pfad>...?php: No such file or directory
>
> Muss das Ding eventuell im cgi-bin-Verzeichnis liegen? Wie kann man
> das Script zum Laufen bringen?
Dein Admin muss
/pfad/zum/php-binary/php /pfad/zu/deinem/script
im Crontab eintragen. Also erst der absolute Pfad zum php-Binary und als =
Parameter der absolute Pfad deines Skriptes.
--
HTH,
Fabian
Re: PHP-Script per Cron-job starten
In article <dl9nrl$8n4$1 [at] news.web.de>, Fabian Schladitz <fs_nospam [at] web.de> =
wrote:
>Dein Admin muss
>
>/pfad/zum/php-binary/php /pfad/zu/deinem/script
>
>im Crontab eintragen. Also erst der absolute Pfad zum php-Binary und als =
=3D
>
>Parameter der absolute Pfad deines Skriptes.
Auf meinem Windows-Entwicklungsrechner mach ich das auch so. Aber
auf Linux-Systemen ist PHP doch als Apache-Modul installiert.
Da dürfte diese Methode wohl kaum funktionieren ;-(
Gruss, Helmut
Re: PHP-Script per Cron-job starten
Hi
Helmut Blass am Mon, 14 Nov 2005 12:06:23 GMT:
> >Parameter der absolute Pfad deines Skriptes.
>
> Auf meinem Windows-Entwicklungsrechner mach ich das auch so. Aber
> auf Linux-Systemen ist PHP doch als Apache-Modul installiert.
> Da dürfte diese Methode wohl kaum funktionieren ;-(
Ohne es genau zu wissen: Ich denke nicht, dass ein in der Console per
Interpreter ausgeführtes Script vom Apache-Modul ausgeführt wird.
Das sollte also keine Rolle spielen.
--
Re: PHP-Script per Cron-job starten
Helmut Blass schrieb:
> In article <dl9nrl$8n4$1 [at] news.web.de>, Fabian Schladitz <fs_nospam [at] web.=
de> wrote:
>
>
>>Dein Admin muss
>>
>>/pfad/zum/php-binary/php /pfad/zu/deinem/script
>>
>>im Crontab eintragen. Also erst der absolute Pfad zum php-Binary und al=
s =3D
>>
>>Parameter der absolute Pfad deines Skriptes.
>
>
> Auf meinem Windows-Entwicklungsrechner mach ich das auch so. Aber
> auf Linux-Systemen ist PHP doch als Apache-Modul installiert.
> Da dürfte diese Methode wohl kaum funktionieren ;-(
Nein, auf _meinem_ Linux-System habe ich ein Binary compiliert und
installiert.
Und bei mir funktioniert ein o.g. Aufruf wunderbar.
--
HTH,
Fabian
Re: PHP-Script per Cron-job starten
Helmut Blass schrieb:
> In article <dl9nrl$8n4$1 [at] news.web.de>, Fabian Schladitz <fs_nospam [at] web.de> wrote:
>
>> Dein Admin muss
>>
>> /pfad/zum/php-binary/php /pfad/zu/deinem/script
>>
>> im Crontab eintragen. Also erst der absolute Pfad zum php-Binary und als =
>>
>> Parameter der absolute Pfad deines Skriptes.
>
> Auf meinem Windows-Entwicklungsrechner mach ich das auch so. Aber
> auf Linux-Systemen ist PHP doch als Apache-Modul installiert.
> Da dürfte diese Methode wohl kaum funktionieren ;-(
Nen bisschen Kreativität darf man von einem PHP-Programmierer doch
erwarten, oder? ;)
wget http://www.example.com/cron.php
oder besser
wget http://localhost/cron.php
in die Crontab eintragen. Das funktioniert sogar von anderen Rechnern aus :P
Re: PHP-Script per Cron-job starten
Marcel Hellkamp schrieb:
> Helmut Blass schrieb:
>
>> Auf meinem Windows-Entwicklungsrechner mach ich das auch so. Aber
>> auf Linux-Systemen ist PHP doch als Apache-Modul installiert.
>> Da dürfte diese Methode wohl kaum funktionieren ;-(
>
>
> Nen bisschen Kreativität darf man von einem PHP-Programmierer doch
> erwarten, oder? ;)
>
> wget http://www.example.com/cron.php
> oder besser
> wget http://localhost/cron.php
>
> in die Crontab eintragen. Das funktioniert sogar von anderen Rechnern
> aus :P
Aber nur, wenn das Skript auch im Doc-Root steht. Gerade bei
"Quasicrons" will man das oft nicht. Dann kommt man mit wget nicht weit.
Natürlich kann dein Hinweis dem OP schon geholfen haben.
--
HTH,
Fabian
Re: PHP-Script per Cron-job starten
Hallo Helmut,
ich starte PHP-Skripte über den Lynx-Umweg. Das geht auch in
geschützten Verzeichnissen:
lynx -dump -auth=3Duser:password
http://www.example.com/path/script.php 2>&1 > /dev/null
Wenn das Verzeichnis offen ist, lässt Du den -auth -
Parameter natürlich weg.
HTH,
Gregor
--
=2E.....................................................
G. Roting <roting [at] betazerfall.de> .
=2E.....................................................
Re: PHP-Script per Cron-job starten
In article <dla2d3$7ca$1 [at] news.stud.uni-goettingen.de>, Marcel Hellkamp <new=
sgroup [at] gsites.de> wrote:
>Nen bisschen Kreativität darf man von einem PHP-Programmierer doch
>erwarten, oder? ;)
>
>wget http://www.example.com/cron.php
>oder besser
>wget http://localhost/cron.php
>
>in die Crontab eintragen. Das funktioniert sogar von anderen Rechnern aus =
:P
Genau diese Idee habe ich auch gehabt. Funktioniert aber nicht, es kommt
folgende Fehlermeldung:
Ausgabe des Befehls php -r'/mein/script.php;' | less .. Parse error: parse=
error, unexpected '/' in Command line code on line 1
Und nu?
Gruss, Helmut
Re: PHP-Script per Cron-job starten
Helmut Blass schrieb:
> Marcel Hellkamp <newsgroup [at] gsites.de> wrote:
>
>> Nen bisschen Kreativität darf man von einem PHP-Programmierer doch
>> erwarten, oder? ;)
>>
>> wget http://www.example.com/cron.php oder besser wget
>> http://localhost/cron.php
>>
>> in die Crontab eintragen. Das funktioniert sogar von anderen
>> Rechnern aus :P
>
> Genau diese Idee habe ich auch gehabt. Funktioniert aber nicht, es
> kommt folgende Fehlermeldung:
>
> Ausgabe des Befehls php -r'/mein/script.php;' | less .. Parse error:
> parse error, unexpected '/' in Command line code on line 1
Kannst du bitte ein crontab -l her zeigen? Das scheint nicht mit wget
gemacht worden zu sein.
Ist dein PHP-Skript im DocumentRoot erreichbar? Kannst du dieses Skript
auch über den Browser starten?
--
HTH,
Fabian