2013-07-14 15 views
5

Ich versuche, phpbb auf einem EC2-Server einzurichten. Nach einer Stunde oder so der Verzweiflung fand ich, dass eine bestimmte Zeile in dem phpbb Start schlägt fehl:nginx -> php5-fpm: Fehler in PHP nicht geloggt (überall!)

$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, defined('PHPBB_DB_NEW_LINK') ? PHPBB_DB_NEW_LINK : false); 

Einfache Lösung, muß ich richtig meine DB-Eigenschaften konfigurieren.

Allerdings, zu finden, dass ich Echo '1' Anweisungen blockweise in den ersten paar Dateien der PHP-App einfügen musste. Vor den echo-Anweisungen bekam ich nur eine leere Seite mit dem Status 200, wenn php fehlerhaft war.

Ich habe sowohl log_errors als auch display_errors in der php.ini von FPM eingeschaltet, aber anscheinend tun sie nichts mit dieser speziellen Art von Fehler.

Es gibt keine Protokolle über den Fehler in/var/log/syslog,/var/log/nginx/*, /var/log/php-fpm.log oder dem Fehlerprotokoll für die nginx-Site.

Also meine Frage: Warum wird der eigentliche Fehler (von sql_connect) nirgends geloggt? (Alternativ kann, wenn es angemeldet wird, wo?)

+0

Haben Sie nach dem Bearbeiten von Konfigurationen sowohl php-fpm als auch nginx neu gestartet? –

+0

@JohnWHS Ja, ich habe sie regelmäßig neu gestartet, nachdem ich Änderungen vorgenommen habe. – user717847

+0

hast du die 'error_log' Einstellungen in'/etc/php5/fpm/php-fpm.conf' überprüft? könnte geändert werden von der Standard-Pfad, Sie sagten, ur Fehlerprotokoll war 'php-fpm.log' während meiner eigentlich ist' php5-fpm.log' –

Antwort

5

Suche nach catch_workers_output in Ihrem Pool und setzen Sie ihn auf ja, aus dem doc:

catch_workers_output - Redirect workers' stdout and stderr into main error log. If not set, they will be redirected to /dev/null, according to FastCGI specs. Values "yes" or "no" 

EDIT:

auch überprüfen Sie haben

php_flag[display_errors] = on 

und/oder

php_admin_flag[log_errors] = true 
+1

Wow, das ist ein dummer Standard. Danke - das war unweigerlich Teil des Themas (bzw. hätte mich später gestolpert.) Allerdings immer noch keine Freude (nach Neustart). – user717847

+0

@ user717847 sehe meine Bearbeitung. – DRC

+0

danke, die Änderung machte auch keinen Unterschied. Ich verstehe nicht, warum die Bearbeitung notwendig ist, wenn man annimmt, dass log_errors in der php.ini aktiviert ist, aber in jedem Fall hat es das Protokoll nirgendwo ergeben. Ich sollte auch erwähnen, dass, wenn ich display_errors eingeschaltet habe, dieser spezielle Fehler auch nicht angezeigt wird - ich denke, das ist konsistent mit dem Fehler, der bei einem bestimmten Arbeiter auftritt und nicht richtig weitergeleitet wird. – user717847

1

Ich hatte heute ein ähnliches Problem. Was ich entdeckt habe, ist, dass die Berechtigungen für meine Protokolldatei falsch waren. Ownership wurde root zugewiesen. Ich habe eine chmod 777 php5-fpm.log um zu bestätigen, dass das Problem war und es war. Die Protokollierung funktionierte danach.

Ich habe eine chown syslog:adm php5-fpm.log, um die richtige Eigentümerschaft einzustellen.