Moin!
Und wer auch noch weiß, mit welcher Software er arbeitet. Zwischen Apache 1.3.x und Apache 2.0.x gibt es erhebliche Unterschiede, gerade auch, was die Art der Fehlermeldungen betrifft
Die Fehlermeldungen des Apache landen aber nicht in der Browserausgabe, sondern im Logfile. Außerdem ist diese Fehlermeldung eindeutig PHP zuzuordnen, der verwendete Apache oder sonstige Server also mitnichten relevant.
und zwischen PHP 3.x.x und PHP 4.x.x gibt es noch erheblichere Unterschiede, gerade was den Umgang mit bestimmten Variablen und Konstanten angeht.
Die angegebene Fehlermeldung ist so typisch und häufig, dass informierte Kreise sofort wissen, was gemeint ist. Solch eine Notice-Frage zu nicht vorhandenen Konstanten sollte also nicht ein vom Thema wegführendes Nachfragen nach irgendwelchen Versionsnummern auslösen, sondern direkt folgenden Link setzen lassen:
http://www.php.net/manual/en/language.types.array.php#language.types.array.foo-bar
Daß ich "notices" der angegebenen Art für echte Fehlermeldungen halte, habe ich bereits gesagt.
Es sind Meldungen, die auf unsaubere Programmierung hinweisen, welche im Moment noch zu keinem Problem führt und von PHP intern auch korrigiert wird, aber in der Zukunft durchaus problematisch werden könnte.
Gerade für die Entwicklung von Skripten und für die Fehlersuche sollte man das Anzeigen von Notices einschalten. Dies geschieht entweder über die globale Option error_reporting in der php.ini (ja, die ist tatsächlich zuständig, Christoph!), oder individuell über die Funktion error_reporting() in jedem Skript.
Siehe zum individuellen Einschalten die bei obigem Link angegebenen Beispiele, und zum globalen Einstellen hier: http://www.php.net/manual/en/ref.errorfunc.php
- Sven Rautenberg
"Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
(fastix®, 13. Oktober 2003, 02:26 Uhr)