scriptkiddy
Goto Top

Php-Datei mit Ubuntu als Crontab aufrufen

Hallo zusammen,

Ich habe folgendes Problem:

Ich habe einen Linux-Server mit Debian 4 und Plesk.
Jetzt möchte ich hier einen Crontab einrichten der bestimmte Aufgaben Nachts ausführt die Datei die das regelt ist ein
PHP-Script.

Nun gibt es ja den Befehl

php -f dateiname

Diesen bekomm ich aber einfach nicht zum laufen... er meldet immer

Cannot open input-file

Ich habe es sowohl mit dem absoluten Pfad im Dateisystem als auch mit der Web-Addresse
kein Erfolg. Woran kann das liegen der befehl
perl blablabla
zum Aufruf eines Perl-Scripts funktioniert ohne
Probleme wieso klappt dann der Aufruf meines php-scripts mit
php
nicht?


Grüße

Patrick Hügel

Content-ID: 98283

Url: https://administrator.de/forum/php-datei-mit-ubuntu-als-crontab-aufrufen-98283.html

Ausgedruckt am: 23.12.2024 um 06:12 Uhr

kaiand1
kaiand1 01.10.2008 um 21:53:44 Uhr
Goto Top
erstmal als User in der Console anmeldem dem das PHP Script gehört
dann kannst du mit dem Befehl php (falls dieser für die console instaliert ist) das Script starten jedoch must du den absuluten pfad dafür nehmen.
Bei den Servern wird zwar meist PHP mit installiert jedoch nur füt den Apache mit. Für den Consolenaufruf must du extra noch was nachinstallieren
Bei Debian war des meine ich das Programm phpx-cli oder phpx-comon nur da ich grad nicht auf einen Debianserver eingeloggt bin kann ich nicht nachgucken.
Beachte aber das die php conf für die COnsole eine andere ist als für den Apache.
Dadurch kannst du die für die Console evtl etwas für dich lockern zb mit der Ausführungszeit ect.
EvilMoe
EvilMoe 01.10.2008 um 21:55:16 Uhr
Goto Top
Man könnte auch CURL benutzen.
curl http://domain.tld/script.php > /dev/null
Soll das Script nur aufgerufen werden oder benötigst du auch eine Ausgabe vom Script?
scriptkiddy
scriptkiddy 01.10.2008 um 22:12:27 Uhr
Goto Top
Also diese beiden Packete gibt es bei mir nicht ...

und nein theoretisch brauche ich keine Ausgabe jedoch würde ich eine ausführung mit dem php-befehl bevorzugen....
kann es sein das es Probleme hat mit den zusatz-parametern ?? also sprich ?bla=bla&lol=lol usw. ?
kaiand1
kaiand1 01.10.2008 um 22:32:33 Uhr
Goto Top
Anstelle von curl geht auch wget ect....
die Parameter kannst du mit übergeben aber braucht mann ja nicht bei einen Cronjob.
ich hab grad mal bei mir geguckt es ist die cli version. Nimm aber am besten die selbe PHP Version wie dein Apacheserver hat.
scriptkiddy
scriptkiddy 02.10.2008 um 18:24:53 Uhr
Goto Top
ich habe jetzt mal geschaut sowohl common als auch cli sind bei mir installiert und in der neusten Version.
wget ?? führt die datei doch nicht aus ?!
Dani
Dani 02.10.2008 um 18:27:20 Uhr
Goto Top
Hi Patrick,
an deiner Stelle würde ich versuchen zu klären, warum "php" direkt in der Konsole nicht funktioniert. Am besten mal "apt-get install php5" ausführen und die Upgrades installieren.
Davor aber die php.ini sichern, falls Änderungen gemacht worden sind.


Gruss,
Dani
scriptkiddy
scriptkiddy 02.10.2008 um 18:57:42 Uhr
Goto Top
also ich hab jetzt rausgefunden wenn ich lediglich ein echo in die datei reinschreibe ohne Parameter dann funktioniert das ganze ..... aber wie kann ich get-parameter auch in der konsole übergeben ???


Grüße

Patrick
Dani
Dani 03.10.2008 um 00:17:17 Uhr
Goto Top
Hi Patrick,
für was brauchst du Parameter bei PHP bzw. welche?!


Gruss,
Dani
scriptkiddy
scriptkiddy 03.10.2008 um 13:13:41 Uhr
Goto Top
Ich möchte gerne eine action übergeben damit ich nicht für jedes teil eine extra crontabdatei schreiben muss... also spricht

crontab.php?action=do_index

usw.
scriptkiddy
scriptkiddy 06.10.2008 um 12:17:44 Uhr
Goto Top
keine Ideen/Vorschläge mehr ????
Seraphine
Seraphine 10.10.2008 um 17:37:21 Uhr
Goto Top
soweit ich weiß kannst du mit der CLI keine GET Parameter übergeben, die Konsolen-Argumente landen wenn ich mich richtig erinner in einem anderen Array, das wär aber auch eine Variante, wenn du das Script anpassen kannst.

ANsonsten wirst du über wget oder curl wohl nicht rumkommen face-smile