Server/PHP-Config: PHP Error Handling via htaccess

Bei dem Einsatz von PHP-Frameworks wie TYPO3, CakePHP oder WordPress ist es gerade im Live-Betrieb wichtig, dass die PHP-Fehlermeldungen nicht an ahnungslose Besucher herausgegeben werden. Normale Besucher des Internetauftritts können mit den Fehlermeldungen nicht viel anfangen und verlassen dadurch schnell den Internetauftritt.

Um an die PHP-Errors in der Live-Umgebung eines Internetauftritts zu gelangen, ist es ratsam die Fehlermeldungen  in ein separates Log-File zu schreiben und dieses Log-File zu überwachen. Auf gut konfigurierten Produktiv-Servern (z.B. unter Debian oder Ubuntu-Linux) ist das PHP-Error-Logging per Default deaktiviert und kann im vHost oder via htaccess gesetzt werden. Das Überschreiben der PHP.ini-Werte erfolgt dann wie angesprochen über die htaccess oder oder wenn der Root-Zugriff auf dem Server vorliegt, via vHost oder direkt in der php.ini des vHosts (beim Einsatz von php-fcgi).

Getestet wurde das Aktivieren des PHP-Error-Logs von mir bei den Anbietern Hetzner und All-Inkl.com. Bei 1und1 konnte ich die Erfahrung bei Shared-Hosts machen, dass diese Option nicht gesetzt werden kann, da es dann einen 500er internal Server-Error gibt. Zahlreiche Webhoster sperren über die vHost-Konfiguration die Einstellungen in einer .htaccess-Datei. (Stichwort: AllowOverride)

PHP errors via htaccess in eine Log-Datei schreiben

  1. # PHP error logging aktivieren
  2. php_flag  log_errors on
  3. php_value error_log  /home/path/htdocs/logs/php_errors.log

Die Angabe "/home/path/htdocs/logs/" ersetzt ihr bitte mit dem absoluten Pfad (PHP-Document-Root) zu eurem Verzeichnis.

Zugriff auf die PHP-Error-Log-Datei von Dritten verhindern
# Zugriffsschutz auf PHP-Error-Log
<Files php_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>

Tags: , , , , , , , , , , ,

1 Antwort auf "Server/PHP-Config: PHP Error Handling via htaccess"

  • franc says:
Hinterlasse eine Nachricht