echo $begrüßung;
Ein interessantes Problem hast du dir da eingefangen :-)
allow_call_time_pass_reference ist aus. Weder per .htaccess via php_flags noch per ini_set lässt sich diese Einstellung ändern.
Ich wollte erst fragen, was gegen ein "gutes altes" @ spricht, jedoch bemerkte ich, dass weder dieses noch ein temporär ausgeschaltetes display_errors wirkt. Der Grund ist, dass die Warnung nicht während der Laufzeit sondern schon beim Parsen ausgeworfen wird. Nachvollziehen kann man das, indem man zwar die Funktionsdeklaration von msortWithRef() aus dem Beispiel von
drinlässt, aber deren Aufruf entfernt. Die Warnung kommt auch dann.
Mein error_reporting( E_ALL ) hab ich schon rausgenommen. Aber selbst error_reporting( E_ERROR | E_PARSE ) hilft mir nicht.
Im Script ist das auch zu spät - siehe oben. Wenn
php_flag allow_call_time_pass_reference On
in der .htaccess keine Wirkung zeigt - manche Provider sollen ja einige Werte fest verdrahtet haben, wobei sich mir der Sinn des Feststellens dieses Wertes nicht erschließt, dieses Feature ist schließlich nur veraltet und nicht sicherheitsrelevant - dann bleibt nur das Umstellen des error_reporting- oder des display_error-Wertes in der .htaccess. (error_reporting nimmt in der .htaccess nur Zahlenwerte an, die E_*-Konstanten sind an der Stelle unbekannt).
Das Anzeigen der Fehlermeldungen auszuschalten ist in der Produktivumgebung keine schlechte Idee. Die (regulären) Anwender können sowieso nichts damit anfangen. Besser ist es, sie per error_log oder eigener Errorhandler-Funktion aufzufangen und sie so nur dem administativen Personal zur Verfügung zu stellen.
Ansonsten fällt mir nur ein, eine eigene Implementation dieser Funktionalität zu schreiben.
echo "$verabschiedung $name";