tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
203
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Dukeatcoding Dukeatcoding ist offline Mitglied Bronze
    Registriert seit
    Jan 2004
    Beiträge
    47
    Ich haben ein PHP Skript, dass später per Cron und wegen der Laufzeit im besten Fall mit php-cli über die Shell aufgerufen werden soll.

    Bei direktem Aufruf aus dem Verzeichnis:

    xxx:/srv/www/vhosts/xxx/httpdocs/xmlimport # php5 checker.php5
    <br>+++++++++++++++++++++++++++++++++++++<br>Checklock 51<br>Checkdir uploadtmp/usera, Ix.zip<br>Dateien vergleichen mit x.zip:<br>filename: .
    filename: ..
    <br>+++++++++++++++++++++++++++++++++++++<br>Checklock 26<br>Checkdir uploadtmp/user_2, Ix.zip<br>Dateien vergleichen mit Ix.zip:<br>filename: .
    filename: ..

    Gibts kein Problem, bei Aufruf aus / , was ja beim ausführen über Cron auch der Fall sein sollte habe ich den Problem , dass er auf Grund irgendwelcher Ordnerrechte trotz ausführenden Roots nicht klar kommt:

    xxx:/ # php5 /srv/www/vhosts/xxx/httpdocs/xmlimport/checker.php5
    <br>+++++++++++++++++++++++++++++++++++++<br>Checklock 51<br>Checkdir uploadtmp/usera, xxxx.zip<br>Dateien vergleichen mit xxx.zip:<br>Fehler uploadtmp/usera ist kein Verzeichnis!<br>+++++++++++++++++++++++++++++++++++++<br>Checklock 26<br>Checkdir uploadtmp/user_2, xxx.zip<br>Dateien vergleichen mit xxx.zip:<br>Fehler uploadtmp/user_2 ist kein Verzeichnis!

    Insbesondere gibt es ein Problem mit der is_dir Funktion.

    Jetzt muss ich entweder das Skript anpassen oder es irgendwie so hinbekommen, dass das Skript auch beim Aufruf über Cron aus dem xmlimport verzeichnis gestaret wird. Hat jemand eine Idee ?
     

  2. #2
    Dukeatcoding Dukeatcoding ist offline Mitglied Bronze
    Registriert seit
    Jan 2004
    Beiträge
    47
    Mit nem Mini Shell Skript gehts zum Beispiel:

    PHP-Code:
    #!/bin/sh
    cd /srv/www/vhosts/xxx/httpdocs/xmlimport
    php5 checker
    .php5 
    Wenn jemand ne bessere Idee hat bin ich auch dankbar
     

  3. #3
    Registriert seit
    Mar 2004
    Beiträge
    490
    Das Problem ist, das wenn du das Script aus "/" aufrufst und du mit relativen Pfaden arbeitest, das checker.php5 Script das Verzeichnis "/uploadtmp/usera" (z.b.) versucht zu finden, wobei die Funktion is_dir() natürlich scheitert. Beim Aufruf des Scripts aus dem XMLImport Ordner geht es, weil du relativ zum Verzeichnis '/srv/www/vhosts/xxx/httpdocs/xmlimport' arbeitest.

    Würdest du bei deinem Operationen mit den absoluten Pfaden arbeiten geht es.

    Da du keinen Code gepostet hast, hier ein Pseudocode, wo vor jeder Datei/Ordnerangabe der Pfad zum XMLImport Ordner vorangestellt wird.

    PHP-Code:

    $pathXMLImport 
    '/srv/www/vhosts/xxx/httpdocs/xmlimport/';
    // oder evtl auch sowas wie
    $pathXMLImport dirname(__FILE__) . '/';
    $userFolder 'usera'// oder woher diese Info auch immer herkommt
    $filename 'xxx.zip';  //             ''

    echo is_dir($pathXMLImport $userFolder '/' $filename) ? 'Datei gefunden' 'Datei nicht gefunden'
     

  4. #4
    Dukeatcoding Dukeatcoding ist offline Mitglied Bronze
    Registriert seit
    Jan 2004
    Beiträge
    47
    Danke für die Antwort daran liegt es auf jeden FAll wenn ich es aus / aufrufe.

    Gerade habe ich ein anderes Problem. Versuche das von mir oben gepostet sh Skript per Cron aufzufrufen. Laut log findet der Aufruf auch statt aber es muss nen Fehler geben.

    Komischer Weise klappt der manuelle aufruf des sh Skriptes wunderbar

    Cron:


    */1 * * * * root /root/bin/checker.sh >/dev/null 2>&1
     

  5. #5
    Registriert seit
    Mar 2004
    Beiträge
    490
    Lass beim CronJob doch einfach mal die Umleitung in /dev/null weg. Dann sollte dir doch der Fehler beim aufruf durch den CronD im root Terminal oder in der /var/log/messages bzw /var/log/syslog Datei aufgezeigt werden.
     

  6. #6
    deostift deostift ist offline Mitglied Gold
    Registriert seit
    Apr 2003
    Ort
    Stuttgart (BW)
    Beiträge
    210
    Beziehungsweise gib ein logfile an, in das die Ausgaben geschrieben werden.

    &> /var/log/meinLogfile.log

    Dann musst Du nicht lange suchen
     

Ähnliche Themen

  1. htaccess: Problem mit Verzeichnissen
    Von Identität im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 02.09.10, 15:01
  2. Problem mit dem rekursiven Einlesen von Verzeichnissen
    Von rpoehlert im Forum .NET Café
    Antworten: 2
    Letzter Beitrag: 18.03.10, 22:12
  3. ?Änderungsdatum von Verzeichnissen?
    Von BlockeR im Forum PHP
    Antworten: 2
    Letzter Beitrag: 08.12.08, 13:59
  4. Suche in allen Verzeichnissen
    Von frubbel im Forum PHP
    Antworten: 4
    Letzter Beitrag: 16.09.06, 13:31
  5. Probleme mit den Verzeichnissen
    Von hubel im Forum PHP
    Antworten: 1
    Letzter Beitrag: 07.10.05, 19:15