Melchior: XML Deklaration

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

  1. 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

    1. 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