Steffen: error_log in PHP-Shell-Script

Hi,

ich habe mir für ein Projekt eine kleine PHP-Library aufgebaut.

Hier werden auch an wichtigen Stellen per error_log-Funktion Ausgaben gemacht. Das Log-File habe ich per
ini_set("error_log", "/path/to/log/file");
eingestellt.

In einem 2. Schritt habe ich mir ein PHP-Shell-Script geschrieben, dass ebenso diese Library benutzen soll. Allerdings schaffe ich es hier nicht, dass die Ausgaben vom error_log auch in ein Log-File umgeleitet werden. Die Ausgaben kommen immer am STDOUT raus.

Hat irgendjemand hilfreiche Tipps, wie ich die Ausgaben vom error_log aus dem STDOUT raushalten kann, bzw. wie ich die in ein Log-File reinbekomme?

Danke im voraus!

Grüße

  • Steffem
  1. Mmmh,

    ich kann im Moment nicht sagen, wieso es bei mir bisher nicht funktioniert hat, aber jetzt funktioniert alles wie erwartet.

    Per ini_set("error_log", "/path/to/log/file"); setze ich das Log-File und alle Ausgaben werden korrekt dahin umgeleitet.

    ???

    Danke trotzdem fürs Zuhören.

    Grüße

    • Steffen
  2. Tach!

    Hat irgendjemand hilfreiche Tipps, wie ich die Ausgaben vom error_log aus dem STDOUT raushalten kann, bzw. wie ich die in ein Log-File reinbekomme?

    Ich kann das Problem nicht nachvollziehen.

    <?php  
    ini_set('error_log', '/tmp/php.log');  
    error_log('foo');
    

    Dieser Testcode arbeitete wie vorgesehen. Mit auskommentierter ini_set-Zeile hat er auch brav nach stderr und nicht nach stdout geschrieben. Kontrollier doch nochmal, dass einerseits dein ini_set() tatsächlich ausgeführt wird und den gewünschten Wert gesetzt hat (phpinfo()-Ausgabe) und überzeug dich, dass es wirklich stdout gewesen ist und nicht doch stderr.

    dedlfix.

    1. Hallo,

      Hat irgendjemand hilfreiche Tipps, wie ich die Ausgaben vom error_log aus dem STDOUT raushalten kann, bzw. wie ich die in ein Log-File reinbekomme?

      Ich kann das Problem nicht nachvollziehen.

      <?php

      ini_set('error_log', '/tmp/php.log');
      error_log('foo');

      
      >   
      > Dieser Testcode arbeitete wie vorgesehen. Mit auskommentierter ini\_set-Zeile hat er auch brav nach stderr und nicht nach stdout geschrieben. Kontrollier doch nochmal, dass einerseits dein ini\_set() tatsächlich ausgeführt wird und den gewünschten Wert gesetzt hat (phpinfo()-Ausgabe) und überzeug dich, dass es wirklich stdout gewesen ist und nicht doch stderr.  
        
      danke für Deinen Input. Wie gesagt, ich kann das Problem leider auch nicht mehr nachvollziehen. Zuerst war ich fast schon verzweifelt und nun geht es einfach so ...  
        
      Auch mit dem STDERR und STDOUT hasst Du recht. Dabei hatte ich mich nur von einem  
      php script.php | less  
      irritieren lassen und habe nicht mehr genau geschaut.  
        
      Danke und Grüße  
      - Steffen