inkompatible php versionen bei DOMXPath::query()

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • inkompatible php versionen bei DOMXPath::query()

    Hi,

    ich hab zu hause meine homepage entwickelt/getestet mit XAMMP, welches PHP 5.1.1 (Windows NT version) verwendet.
    wenn ich jetzt die applikation auf meinem webhoster (1blu) starte funktioniert die ganze sache leider nicht mehr siehe
    www.aldana-online.de.
    php_info des webhosters hat version 5.1.2, allerdings für debian.

    was läuft hier falsch?

    der fehler passiert in der funktion beim query().

    PHP-Code:
    function getQueryElements($queryString){
        return 
    createXPathQueryObject()->query($queryString);        

    der client dieser function in diesem fall
    PHP-Code:
    function getContentRootDestination() {
        
    //->item(0), because there is only one element
        
    return getAttributeValue(getQueryElements('/cms-config/content-root/')->item(0),'dest');

    der code, der von getQueryElements() verwendet wird
    PHP-Code:
    //CMS-Config dom object, which represents cms_config.xml
    class CMS_Config extends DomDocument {
        function 
    __construct() {
            
    parent :: __construct();
        }

        function 
    parse() {
            if (!
    defined(DOC_ROOT))
                
    define(DOC_ROOT$_SERVER['DOCUMENT_ROOT']);
            
    parent :: load(DOC_ROOT.'/cms/config/cms_config.xml');
        }
    }



    function 
    createXPathQueryObject() {
        
    //static, so it does not need to be initialized again at each call
        
    static $xp;
        if (!
    $xp) {
            
    $cmsConfig = new CMS_Config();
            
    $cmsConfig->parse();
            
    //xpath object for querying    
            
    $xp = new domxpath($cmsConfig);
        }
        return 
    $xp;

    $cmsConfig

    was läuft hier falsch? eigentlich müssten doch php 5.1.1 und 5.1.2 kompatibel sein...
    vielen dank.
    Zuletzt geändert von aldana; 27.05.2006, 20:27.

  • #2
    Wodran siehst du denn dass es nicht läuft? Was ist der genaue Fehler? Fehlermeldungen?
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      ich hab's gefunden

      der queryString darf nicht mit einem slash enden.
      anstelle
      '/cms-config/content-root/'
      muss es bei der debian php version also
      '/cms-config/content-root'
      heißen. das xammp php 5.1.1 hat mit dem slash allerdings keine probleme.

      soviel mal wieder zu write once run anywhere

      Kommentar


      • #4
        Wäre das was für http://bugs.php.net/ ?
        Dort ist bisher nichts dergleichern zu finden und ein Feature kanns ja nun wahrlich nicht sein.

        Zumindest könntest du es auf http://de.php.net/manual/de/function...path-query.php als Usernote hinterlassen.
        Zuletzt geändert von onemorenerd; 28.05.2006, 01:02.

        Kommentar

        Lädt...
        X