Joomla 1.5 Webseiten auf einer aktuellen PHP Version betreiben lässt das Error.log vom Apache explodieren. Unzählige Fehlermeldungen bei jedem Seitenaufruf machen die Log-Datei mehrere Gigabyte groß. Eine kurzfristige Lösung ist es das Logging der Joomla 1.5 Webseiten zu verbieten.
PHP verfügt über mehrere vordefinierte Konstanten für das Error Reporting in Apache. Wichtig für die Vermeidung von zu vielen Log Einträgen ist E_STRICT es liefert Benachrichtigungen des Laufzeitsystems. Damit erhalten Sie von PHP Vorschläge für Änderungen des Programmcodes, die eine bestmögliche Interoperabilität und zukünftige Kompatibilität Ihres Codes gewährleisten. E_ERROR liefert Fatale Laufzeit-Fehler. Dies zeigt Fehler an, die nicht behoben werden können. Beispielsweise Probleme bei der Speicherzuweisung. Die Ausführung des Skripts wird abgebrochen. E_ALL ist der Übeltäter welcher Alle Fehler und Warnungen liefert die unterstützt werden.
Error Reporting lässt sich auch via PHP ausschalten. In der index.php kann der folgende Code eingebunden werden um einen Debugging-Schalter zu installieren:
define('DEBUG', true);
if(DEBUG == true)
{
ini_set('display_errors', 'On');
error_reporting(E_ALL);
}
else
{
ini_set('display_errors', 'Off');
error_reporting(0);
}
So muss nur DEBUG auf true oder false gesetzt werden um Errors zu loggen oder eben nicht.
Die Fehlermeldung ".htaccess: Invalid command 'php_flag', perhaps mis-spelled or defined by a module not included in the server configuration" erscheint wenn suPHP auf dem Server aktiviert ist. Das bedeutet das php Variablen nicht über eine htaccess Datei editiert werden dürfen. Eine Lösung ist es eine php.ini in den public_html Ordner zu legen:
error_reporting = E_STRICT | E_ERROR
display_errors = On
log_errors = On
error_log = "/var/www/webXXX/html/logs/php_error.log"