CodeIgniter wurde so entwickelt, dass es auf möglichst vielen Servern ohne Probleme läuft. Daher wird die Serverumgebung als unbekannt vorausgesetzt. Einstellungen wie display_error werden daher nicht beachtet. Vielmehr wird bei jedem Seitenaufruf die PHP-Funktion error_reporting aufgerufen. Wer die Einstellungen von error_reporting aber in der config.php sucht, wird vergeblich suchen. Eingestellt wird das error_reporting in der index.php im root-Verzeichnis.

Für den Test- und Entwicklungsbetrieb eignet sich

error_reporting(E_ALL);

Für den Produktivbetrieb, sollte diese Einstellung aber auf jeden Fall in

error_reporting(0);

geändert werden. Generell sollten zwar so wenig Fehler wie möglich auftreten, leider gibt es aber doch immer wieder Unvorhersehbarkeiten, die durch das Error Reporting sensible Daten aufdecken könnten.

Allerdings ist es allein mit dem Error Reporting noch nicht getan, denn Datenbankfehler werden dennoch angezeigt. Um auch diese im Produktivbetrieb auszuschalten muss in system/application/database.php

$db['default']['db_debug'] = TRUE;

in

$db['default']['db_debug'] = FALSE;

geändert werden.

Zwei einfache Handgriffe, die in jedem Fall zur Sicherheit der Applikation und des Servers beitragen und niemals vergessen werden sollten. Am besten aktiviert man, wenn man schon dabei ist in system/application/config.php das Fehler Logging. Dazu wird

$config['log_threshold'] = 0;

auf

$config['log_threshold'] = 1;

gesetzt. So werden alle aufgetretenen PHP-Fehler in system/logs/ geloggt.