XML Deklaration
Melchior
- php
Grüße!
Ich habe nachfolgendes Problem:
Bei folgender XML Deklaration bekomme ich vom Server eine Warnmedlung
...
149 $this->XMLparser = xml_parser_create();
150 xml_set_object($this->XMLparser, &$this);
151 xml_set_element_handler($this->XMLparser, "tag_open", "tag_close");
152 xml_set_character_data_handler($this->XMLparser, "cdata");
...
und zwar diese:
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_set_object(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/www/einsweb/_md/maite.de/Serverinfo/serverinfo.php on line 150
Ich habe meinen Provider bereits angemailt, aber ich vermute mal, dass er kaum die INI Datei anpassen wird.
Deshalb meine Frage:
Wie schreibe ich die Datei um, dass sie ohne Warnmeldung läuft?
Gruß,
Melchior
Hallo!
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of xml_set_object(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /home/www/einsweb/_md/maite.de/Serverinfo/serverinfo.php on line 150
Du bist nicht der einzige mit dem Problem, siehe Kommentare unter http://www.php3.de/manual/de/function.xml-set-object.php, da steht einiges dazu, wobei ich selber auch keine Lösung mit Sicherheit weiß. Aber vielleicht kannst Du ja mal den einen oder anderen Ansatz versuchen.
Grüße
Andreas
Die Antwort meines Providers kam wie gewohnt pronto :-)
Ich will sie euch nicht vorenthalten:
(...)
auf unseren Servern läuft inzwischen die neue PHP-Version 4.2.3. Die
call-time pass-by-reference Funktion wurde von PHP ab der Version 4.1.0
abgekündigt, wird also von zukünftigen PHP-Versionen nicht mehr
unterstützt werden - daher die vorzeitige Warnung in der aktuellen
PHP-Version. Das Problem tritt offensichtlich auch bei der Verwendung
von xml_set_object() auf.
Eine Diskussion zu diesem Thema finden Sie z.B. unter:
http://groups.google.com/groups?hl=en&frame=right&th=8dfe175717f4411e
Falls Sie das Skript trotzdem vorerst weiter verwenden möchten, können
Sie in dem Verzeichnis, in dem es abgelegt ist, eine Datei mit dem
Namen ".htaccess" anlegen, die folgende Zeile enthalten muss:
php_value allow_call_time_pass_reference 1
Eine Anpassung Ihres Skripts bzw. die Installation einer neueren
Version ist auf Dauer allerdings unumgänglich, damit das Skript auch
zu zukünftigen PHP-Versionen kompatibel bleibt. (...)
Gruß,
Melchior