PHP kein Fehler Log, keine Fehler Anzeige - Printable Version +- ispCP - Board - Support (http://www.isp-control.net/forum) +-- Forum: ispCP Omega International Area (/forum-22.html) +--- Forum: German Corner (/forum-26.html) +--- Thread: PHP kein Fehler Log, keine Fehler Anzeige (/thread-8750.html) |
PHP kein Fehler Log, keine Fehler Anzeige - smallfreak - 12-13-2009 01:25 AM Ich habe ja meinen Server neu installiert, und diesmal (fast) alles nach Handbuch und Voreinstellungen gemacht, inklusive PHP als fcgi mit eigenen INI Dateien. Für eine Anwendung muss ich mit "exec()" etwas aufrufen. Das klappt nun, seit ich die entsprechende Einschränkung in der Domain spezifischen php.ini herausgenommen habe. Ich kann auch ein "phpinfo()" machen und sehe dort genau die Einstellungen wieder, die ich auch in der jeweiligen INI stehen habe. Mein Problem ist aber, dass PHP Fehler jedweder Art in keinem Logfile aufscheinen. Ich kann da einstellen, was ich will (syslog, File, sonstwas). Ich habe schon verschiedentliche Files und Verzeichnisse eingestellt, auch den domain spezifischen "phptmp" Ordner, damit ich auch sicher sein kann, dass der Prozess da auch schreiben darf. Das Logfile wird angelegt, ist aber immer leer. Ich kann auch "display_startup_errors" und "display_errors" einstellen was ich will (phpinfo zeigt mir, dass das auch so gelesen wird), und trotzdem bekomme ich im Fehlerfall nur eine weiße Seite. Irgendwo ist da noch der Wurm drin. System: ISPCP 1.0.2, Debian Lenny, PHP 5.2.6-1+lenny4 (+ Suhosin Patch) RE: PHP kein Fehler Log, keine Fehler Anzeige - FISA4 - 12-13-2009 03:44 AM (12-13-2009 01:25 AM)smallfreak Wrote: Ich habe ja meinen Server neu installiert, und diesmal (fast) alles nach Handbuch und Voreinstellungen gemacht, inklusive PHP als fcgi mit eigenen INI Dateien. Was steht in der php.ini bei error_log, error_reporting, display_errors, track_errors ? RE: PHP kein Fehler Log, keine Fehler Anzeige - smallfreak - 12-13-2009 04:21 AM (12-13-2009 03:44 AM)FISA4 Wrote: Was steht in der php.ini bei error_log, error_reporting, display_errors, track_errors ? Auszug aus der php.ini (/var/www/fcgi/meinedomain.at/php5/php.ini) error_reporting = "E_ALL & ~E_NOTICE" display_errors = On log_errors = On log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On ;report_zend_debug = 0 track_errors = Off Auszug aus der phpinfo(): Configuration File (php.ini) Path /etc/php5/cgi Loaded Configuration File /var/www/fcgi/meinedomain.at/php5/php.ini Scan this dir for additional .ini files /etc/php5/cgi/conf.d ... disable_functions no value no value display_errors On On display_startup_errors On On error_append_string no value no value error_log /var/www/virtual/meinedomain.at/phptmp/php_error.log /var/www/virtual/meinedomain.at/phptmp/php_error.log error_reporting E_ALL & ~E_NOTICE E_ALL & ~E_NOTICE (meinedomain.at, da steht natürlich ein Domain Name für den Klienten drin) Wenn ich an der php.ini etwas ändere, sehe ich das nach dem Apache-Reload nachher im phpinfo() auch. Wenn ich im Script über ini_set('display_errors', true); oder false etwas ändere, dann sehe ich das auch im phpinfo unter local Settings. Wenn ein Fehler auftritt, dann passiert entweder garnichts, oder das Script bricht an der Stelle kommentarlos ab, oder es startet gleich gar nicht (wenn wieder mal ein ; wo fehlt). Das Logfile habe ich auch schon unter /var/log/php_error.log versucht - nix. Auch ein Versuche mit "error_log = syslog" - Fehlanzeige. Wenn ich per PHP in dem Ordner /var/www/virtual/meinedomain.at/phptmp/ eine Datei anlege, dann geht das und der Eigentümer ist der korrekte VU User (vu2002). Ein exec() Aufruf produziert dort noch mehr Zeug, wieder korrekt mit dem User. Ein Rechteproblem sollte es also an DER Stelle nicht sein. Als Ergebnis bekomme ich am Browser immer eine "korrekte" 200 Statusmeldung, nur dass im Zweifelsfall eben kein HTML ankommt, nur ein Header. Nach meinem Dafürhalten sollte es funktionieren. RE: PHP kein Fehler Log, keine Fehler Anzeige - FISA4 - 12-13-2009 06:47 AM Wenn ich mich nicht verlesen habe, muss die Datei php_error.log als User und Gruppe "www-data" haben. Ist das so bei Dir ? RE: PHP kein Fehler Log, keine Fehler Anzeige - smallfreak - 12-13-2009 07:28 AM (12-13-2009 06:47 AM)FISA4 Wrote: Wenn ich mich nicht verlesen habe, muss die Datei Die gibt's ja noch gar nicht, ich habe damit gerechnet, dass die der Prozess bei Bedarf anlegt. Da dieser wiederum als FCGI unter dem Benutzer vu2002 läuft und nicht unter "www-data", habe ich natürlich zuerst an den gedacht. Wenn aber das Logfile NICHT vom PHP-CGI Prozess, sondern vom aufrufenden Apache angelegt wird, dann hat der möglicherweise dort keinen Zugriff. Obwohl, 777 im "phptmp" Verzeichnis sollten eigentlich reichen. Ich habe versuchshalber das Script mal als root von der Kommandozeile aufgerufen, natürlich mit der zugehörigen php.ini. Das ist auch nicht besser. Eine Ausgabe der Fehler am Terminal bekomme ich nur mit dem Parameter -n, also OHNE irgend eine ".ini" Datei. Es MUSS also irgend eine Einstellung da drin sein. Ich komme nur nicht drauf. Wahrscheinlich ist es so offensichtlich, dass es weh tut, wenn man es gefunden hat. RE: PHP kein Fehler Log, keine Fehler Anzeige - FISA4 - 12-13-2009 09:31 AM (12-13-2009 07:28 AM)smallfreak Wrote:(12-13-2009 06:47 AM)FISA4 Wrote: Wenn ich mich nicht verlesen habe, muss die Datei Ist ja immer so. Da wo man als letztes guckt, da ist der "Fehler". RE: PHP kein Fehler Log, keine Fehler Anzeige - smallfreak - 12-15-2009 05:16 AM (12-13-2009 07:28 AM)smallfreak Wrote: Wahrscheinlich ist es so offensichtlich, dass es weh tut, wenn man es gefunden hat. Ok, ich habs gefunden. Es ist der Eintrag Code: error_reporting = "E_ALL & ~E_NOTICE" Der Parameter error_reporting verlangt laut PHP-doc einen numerischen Parameter. Man kann ihn aber mit PHP-Konstanten setzen. Dabei steht E_ALL für 30719 und E_NOTICE für 8. Man kann also schreiben: Code: error_reporting = 30711 Aaaber: "E_ALL & ~E_NOTICE" ist eine Zeichenkette und die hat den Wert 0, also "keinerlei Fehler ausgeben". Da das vom ISPCP so vorgeschlagen wird, denke ich mal, das ist ein Bug. Richtig wäre wohl Code: error_reporting = E_ALL & ~E_NOTICE RE: PHP kein Fehler Log, keine Fehler Anzeige - ZooL - 12-15-2009 02:06 PM joa mit " " ist nicht korrekt in der php config mfg |