Ausführen PHP Script

  • Hallo,
    ich habe mal eine Frage.
    Ich bin totaler Neuling in Sachen Raspberry und habe da ein Problem. :s
    Ich möchte ein PHP Script über einen Cronjob alle 5 Min. ausführen damit es mir Daten in eine Datenbank schreibt.

    Code
    */5 * * * * /usr/bin/php /home/pi/pv/tarom.php


    Das Script habe ich ausführbar mit gemacht.

    Code
    chmod +x /home/pi/pv/tarom.php

    Der Cronjob läuft, aber das Script wird nicht ausgeführt!

    Feb 13 11:25:01 solaranlage /USR/SBIN/CRON[3367]: (root) CMD (/home/pi/pv/ php tarom.php) 
    Feb 13 11:30:01 solaranlage /USR/SBIN/CRON[3367]: (root) CMD (/home/pi/pv/ php tarom.php)
    Feb 13 11:35:01 solaranlage /USR/SBIN/CRON[3367]: (root) CMD (/home/pi/pv/ php tarom.php)
    usw.


    Das PHP Script wird auch nicht ausgeführt wenn ich über die Kommandozeile den Pfad zum Script angebe.

    Code
    /usr/bin/php /home/pi/pv/tarom.php

    Es kommen dann eine Fehlermeldungen.

    Code
    PHP Warning: file(tarom_yyyy_mm_dd.log): failed to open stream: No such file or directory in /home/pi/pv//tarom.php on line 34
    PHP Notice: Undefined offset: 1 in /home/pi/pv/tarom.php on line 39
    PHP Notice: Undefined offset: 2 in /home/pi/pv/tarom.php on line 39
    PHP Notice: Undefined offset: 1 in /home/pi/pv/tarom.php on line 39
    PHP Notice: Undefined offset: 2 in /home/pi/pv/tarom.php on line 39


    Wenn ich aber mit

    Code
    cd /home/pi/pv/


    in den Ordner gehe und dann

    Code
    php tarom.php


    in die Kommandozeile eingebe wird das Script ausgeführt und die Daten liegen in der Datenbank!
    Also ist das Script doch i.o. und der Fehler liegt woanders, oder?

    Gruß
    Ralwi

    Das Script „tarom.php“ sieht so aus:

    Die eingelesene Textdatei „tarom_yyyy_mm_dd.log“ sieht so aus:

    1;2016/02/11;15:51;29.0;29.8;#;100.0;#;0.1;6.4;#;0.1;0.1;0.0;0.0;10.1;0;F;0;1;0;5.3;11059.1;0.0;0.0;0;17D7
    1;2016/02/11;15:52;28.9;29.9;#;100.0;#;0.1;6.4;#;0.1;0.1;0.0;0.0;10.1;0;F;0;1;0;5.3;11059.1;0.0;0.0;0;2D00
    1;2016/02/11;15:53;29.2;30.0;#;100.0;#;0.1;6.4;#;0.1;0.1;0.0;0.0;10.1;0;F;0;1;0;5.3;11059.1;0.0;0.0;0;9FDB
    1;2016/02/11;15:54;29.2;30.1;#;100.0;#;0.1;6.4;#;0.1;0.1;0.0;0.0;10.1;0;F;0;1;0;5.3;11059.1;0.0;0.0;0;4FC8
    1;2016/02/11;15:55;29.0;30.0;#;100.0;#;0.1;6.4;#;0.1;0.1;0.0;0.0;10.1;0;F;0;1;0;5.3;11059.1;0.0;0.0;0;0F97
    1;2016/02/11;15:56;28.9;29.8;#;100.0;#;0.1;4.4;#;0.1;0.1;0.0;0.0;10.1;0;F;0;1;0;5.3;11059.1;0.0;0.0;0;B09F
    1;2016/02/11;15:57;29.3;30.0;#;100.0;#;0.1;5.6;#;0.1;0.1;0.0;0.0;10.0;0;F;0;1;0;5.3;11059.1;0.0;0.0;0;B8DD
    1;2016/02/11;15:58;29.2;30.2;#;100.0;#;0.1;5.6;#;0.1;0.1;0.0;0.0;10.0;0;F;0;1;0;5.3;11059.1;0.0;0.0;0;5AE2
    1;2016/02/11;15:59;29.1;30.2;#;100.0;#;0.1;5.6;#;0.1;0.1;0.0;0.0;10.0;0;F;0;1;0;5.3;11059.1;0.0;0.0;0;B6B4
    1;2016/02/11;16:00;29.1;30.1;#;100.0;#;0.1;5.6;#;0.1;0.1;0.0;0.0;10.0;0;F;0;1;0;5.3;11059.1;0.0;0.0;0;B46B
    usw.

  • @dukennstmichnicht : Das wäre aber falsch, dann wird es nur jede Stunde um 5 nach ausgeführt, also 13:05 , 14:05 , 15:05 usw... Desweiteren war es schon richtig den vollständigen Pfad zur php Binary anzugeben - wobei das generell überflüssig ist sofern ein Shebang angegeben und die Datei Ausführrechte besitzt, aber daran wird es nicht liegen. Siehe dazu auch FAQ --> Nützliche Links / Linksammlung --> crontab


    Da es aber auch nicht bei manueller Ausführung funktioniert, liegt es nicht an crontab - das kann auch nicht hexen.

    Das Script sieht komisch aus... Es lässt sich aber auch sehr schwer entziffern weil teilweise keine Einrückungen da sind oder 5 Leerzeilen usw

    Ich empfehle das Script zu debuggen, dh in jede markante Zeile ein Echo einzufügen, manuell ausführen und dann prüfen ab welchem Echo es nicht mehr wie erwartet funktioniert

  • Hallo
    Erstmal danke für eure Hilfe!!
    Digiart hatte die richtige Idee :thumbs1:
    Mit der richtigen Pfadangabe im Script klappt jetzt alles, super!!
    Danke und Gruß
    Ralwi

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!