In mehreren PHP-Errog-Log-Dateien unterschiedlicher Websites fielen mir tausende Zeilen der Art "PHP Warning: Unknown: function '0' not found or invalid function name in Unknown on line 0" auf. Recht aussagelos, diese Information. Wo kam die her? Ein Hinweis war, dass ich bei allen Seiten, die PHP-Version angehoben hatte. Letztendlich war eine unpassende Server-Konfiguration Schuld. "Selber blöd!"

Die Meldung kann variieren:

  • Unknown: function 'NULL' not found
  • Unknown: function 'Off' not found

und ähnliche.

Nach einigem Rätseln und erfolglosem Deaktivieren von Diesem oder Jenem und Abgleichen von gemeinsamen Erweiterungen der betroffenen Internetseiten, die einen solche Warnung generieren könnten, wendete ich mich schließlich der Server-Konfiguration zu.

Bei allen Installationen habe ich die Möglichkeit einige Apache-Direktiven in die .htaccess-Datei einzutragen, um Server-Standard-Einstellungen zu überschreiben. Und diese Settings dümpeln da schon seit Jahren rum als PHP in Version 4 oder 5.2 oder so ähnlich noch aktuell war. Ein paar Beispielzeilen:

php_value error_log "/www/htdocs/xyz/logs/errorLog.txt"
php_flag register_globals off
php_value memory_limit 128M
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_flag magic_quotes_gpc off
php_value output_handler 0

Nachdem ich schrittweise alle Regeln deaktiviert hatte, war's am Ende die output_handler-Zeile, eh klar, die letzte Zeile, die für die Warnung verantwortlich ist. Andere Regeln sind schon länger veraltet und sowieso wirkungslos, nicht erst seit PHP 7 (register_globals, magic_quotes_gpc, safe_mode). Also diese ebenfalls rausschmeißen.

Diese Regeln bleiben übrig:

php_value error_log "/www/htdocs/xyz/logs/errorLog.txt"
php_value memory_limit 128M
php_value upload_max_filesize 128M
php_value post_max_size 128M

Und schon herrscht Ruhe in den Fehler-Log-Dateien von PHP und der Administrator hat gelernt, dass Kopieren und Einfügen nicht immer ideal ist... und nicht immer Zeit spart ;-)