MediaWiki benutzt den Konstruktor
- Code: Select all
$dom = new DOMDocument;
Mit der php-Version 5.2.5 aus Xampp 1.6.6a funkioniert das auch noch. In der neuen Version erhalte ich nun die Fehlermeldung, dass der Konstruktor mindestens einen Parameter erwartet.
Ich gehe mal davon aus, dass die DOM-Funktionen in php_domxml.dll definiert sind. Wenn man die Versionen der dll's vergleicht so hat sich diese von 5.2.5.5 nach 5.2.6.6 geändert. Also vermutlich eine, unter anderem, Änderung des Konstruktors. Nach meinem php-Manual v. 05.12.07, was Neueres kenn ich nicht, können dem Konstruktor optional 2 Parameter übergeben werden, in der Form (__construct ( [string $version [, string $encoding]]):
- Code: Select all
$dom = new DOMDocument('1.0', 'iso-8859-1');
Also mal ausprobiert, diese Parameter können ja nicht schaden. Nun bekomme ich die Fehlermeldung, dass Parameter 2 vom Typ long sein muss. Also folgende Version probiert (mind. 1 parameter s.oben):
- Code: Select all
$dom = new DOMDocument('1.0');
NUn bekomme ich einen Parse-Error.
Kurz und gut, welche Parameter erwartet der Konstruktor nun, wo kann man sowas nachlesen, wie bekommt man solche einschneidenden Veränderungen mit. In diesem Fall ist es evtl. noch einfach, ich möchte aber nicht in bestehendem Code, wie in Media-Wiki, grosse Veränderungen vornehmen ohne dann zu wissen, welche Auswirkungen das hat.
Ich habe dann noch versucht die neue dll durch die alte zu ersetzen. Komischerweise taucht dann der gleiche Fehler auf. (Ja, ich habe den Apache neu gestartet, sogar den PC).
Ein völlig konfuser Hobby-Programmierer hofft auf Hilfe.
Danke im Voraus.
PS. Was ist eigentlich der Unterschied, ausser den Dateigrössen, zwischen den dll's in den php-Verzeichnisen "ext" und "extension"?