cross: file_exists()

Hallöchen auch,

zu Testzwecken habe ich eine Erweiterung in mein Typo3 eingespielt. Diese Erweiterung benötigt eine weitere Erweiterung, damit sie funktioniert. Ist auch soweit kein Problem, aber bekomme ich folgendes warning:

Warning: file_exists(): open_basedir restriction in effect. File(/typo3conf/ext/blabla/pi1/tx_blabla_frontEnd.xml) is not within the allowed path(s): (/srv/www/vhosts/xyz.de/httpdocs/cms/typo3conf/ext/blabla/pi1/) in /srv/www/vhosts/xyz.de/httpdocs/cms/typo3conf/ext/ameos_formidable/api/class.tx_ameosformidable.php on line 6052

Wie diese Meldung SELBST angibt, ist der Pfad ganz korrekt angegeben - warum dennoch die Warnung?!

MfG
cross

p.s. Ich habs auch ohne schließenden / im Pfad versucht - kommt trotzdem die selbe Meldung.

  1. Hi,

    Warning: file_exists(): open_basedir restriction in effect. File(/typo3conf/ext/blabla/pi1/tx_blabla_frontEnd.xml) is not within the allowed path(s): (/srv/www/vhosts/xyz.de/httpdocs/cms/typo3conf/ext/blabla/pi1/) in /srv/www/vhosts/xyz.de/httpdocs/cms/typo3conf/ext/ameos_formidable/api/class.tx_ameosformidable.php on line 6052

    Wie diese Meldung SELBST angibt, ist der Pfad ganz korrekt angegeben - warum dennoch die Warnung?!

    Das sagt die Meldung selber dir doch bereits in aller Klarheit:
    "open_basedir restriction in effect. [...]
    File [...] is not within the allowed path(s)"

    • *darum*.

    Wie diese Meldung SELBST angibt, ist der Pfad ganz korrekt angegeben

    Du hast /typo3conf/ext/blabla/pi1/tx_blabla_frontEnd.xml angegeben - also befindet sich das Verzeichnis typo3conf direkt im Wurzelverzeichnis des Servers ...?

    /srv/www/vhosts/xyz.de/httpdocs/cms/typo3conf/ sieht so aus, als würde es woanders liegen - nämlich da.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Hallöle :),

      ich steh gerade auf dem Schlauch - irgendwie kann ich Dir nicht ganz folgen. :)

      Du hast /typo3conf/ext/blabla/pi1/tx_blabla_frontEnd.xml angegeben - also befindet sich das Verzeichnis typo3conf direkt im Wurzelverzeichnis des Servers ...?

      Nö, habe ich nicht, diese Angabe kommt vom Script.

      /srv/www/vhosts/xyz.de/httpdocs/cms/typo3conf/ sieht so aus, als würde es woanders liegen - nämlich da.

      Meine open_basedir ist wie folgt angegeben: /srv/www/vhosts/xyz.de/httpdocs/cms/typo3conf/ext/blabla/pi1/
      Imho müsste das doch richtig sein, oder?!

      MfG
      cross

      1. Hi,

        Du hast /typo3conf/ext/blabla/pi1/tx_blabla_frontEnd.xml angegeben - also befindet sich das Verzeichnis typo3conf direkt im Wurzelverzeichnis des Servers ...?
        Nö, habe ich nicht, diese Angabe kommt vom Script.

        Und welche Angabe *hast* du gemacht, beim Parameter von file_exists?

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
        1. Hallöchen auch,

          Und welche Angabe *hast* du gemacht, beim Parameter von file_exists?

          Ich selbst gar keine. Wie gesagt, es steht so im Script. Die Funktion ändert lediglich die slashes nach einem bestimmten Format. Was das soll: Steige ich so auf die Schnelle nicht hinter:

            
          function toServerPath($sPath) {  
            
          	$sPath = tx_ameosformidable::toRelPath($sPath);  
            
          	if(file_exists($sPath) && is_dir($sPath) && ($sPath{(strlen($sPath) - 1)} !== "/")) {  
          	$sPath .= "/";  
          		}  
            
          		return  tx_ameosformidable::_removeEndingSlash(t3lib_div::getIndpEnv("TYPO3_DOCUMENT_ROOT")) . "/" .  tx_ameosformidable::_removeStartingSlash($sPath);  
          	}  
            
          
          

          MfG
          cross

          1. Hi,

            Und welche Angabe *hast* du gemacht, beim Parameter von file_exists?
            Ich selbst gar keine.

            Jahmgrmpf ... ich meinte natürlich, welcher Wert wird dort letztendlich als Parameter übergeben?

            Wie gesagt, es steht so im Script.

            Da steht eine Variable namens $sPath - was ist der *Inhalt* dieser zu dem Zeitpunkt, wo der Fehler auftritt? (Kontrollausgabe machen!)

            Die Funktion ändert lediglich die slashes nach einem bestimmten Format. Was das soll: Steige ich so auf die Schnelle nicht hinter:

            if(file_exists($sPath) && is_dir($sPath) && ($sPath{(strlen($sPath) - 1)} !== "/")) {
            $sPath .= "/";

            Das dient offenbar lediglich dazu, einen Slash am Ende des Inhaltes von $sPath zu ergänzen, wenn es sich um ein Verzeichnis handelt, und dort noch keiner steht.
            Das tut aber hier jetzt auch wenig zur Sache, weil es ja schon im ersten Prüfungsschritt, nämlich der Überprüfung per file_exists, zum Fehler kommt.

            MfG ChrisB

            --
            Light travels faster than sound - that's why most people appear bright until you hear them speak.
            1. Hallöchen auch,

              Das tut aber hier jetzt auch wenig zur Sache, weil es ja schon im ersten Prüfungsschritt, nämlich der Überprüfung per file_exists, zum Fehler kommt.

              Was dort ankommt, steht doch schon in der Fehlermeldung aus dem 1. Posting: File(/typo3conf/ext/blabla/pi1/tx_blabla_frontEnd.xml)

              ;))

              MfG
              cross

              1. Hi,

                Das tut aber hier jetzt auch wenig zur Sache, weil es ja schon im ersten Prüfungsschritt, nämlich der Überprüfung per file_exists, zum Fehler kommt.
                Was dort ankommt, steht doch schon in der Fehlermeldung aus dem 1. Posting: File(/typo3conf/ext/blabla/pi1/tx_blabla_frontEnd.xml)

                Nun gut, dass damit die Ursache klar sein müsste, schrieb ich ja bereits in meiner ersten Antwort - ich dachte nur, du hättest mit deiner Äusserung, dass diese Angabe nicht von dir, sondern vom Script stamme, der Korrektheit der Pfandangabe aus der Meldung widersprechen wollen.

                MfG ChrisB

                --
                Light travels faster than sound - that's why most people appear bright until you hear them speak.
                1. Hello,

                  ich vermute eher, dass die Konstante oder Konfigurationseinstellung TYPO3_DOCUMENT_ROOT einfach leer ist.

                  Die muss ja irgendwo eingestellt werden in dem Schrotthaufen.

                  Liebe Grüße aus dem schönen Oberharz

                  Tom vom Berg

                  --
                  Nur selber lernen macht schlau
                  http://bergpost.annerschbarrich.de
                  1. Hallöchen auch,

                    ich vermute eher, dass die Konstante oder Konfigurationseinstellung TYPO3_DOCUMENT_ROOT einfach leer ist.

                    Die muss ja irgendwo eingestellt werden in dem Schrotthaufen.

                    *grins*

                    Ne, der Pfad war falsch - so, wie's die Meldung ja auch gesagt hat. :))

                    Ich hab nur den Wald vor lauter Bäumen nicht gesehen.

                    Dank auch Dir.

                    MfG
                    cross

                2. Hallöchen auch,

                  Nun gut, dass damit die Ursache klar sein müsste, schrieb ich ja bereits in meiner ersten Antwort

                  Jou - jetzt bin selbst ich drauf gekommen .. nun funktioniert es.

                  Danke Dir!! :)

                  MfG
                  cross