Include (V-Server)

Hallo, ich habe folgende Ordner

var/customers/webs/X/Y = xy.de

var/customers/webs/A/B = ab.de

nun möchte ich in xy eine Datei includen, die im Ordner A/B ist.

Normal ging das bisher (auf meinem Webspace) immer mit …/…/X/Y/…php
Nur jetzt geht es leider nicht mehr. Habe es auch schon (wie im Internet beschrieben) mit dem Absoluten Pfad „/var/customers/webs/A/B/…php“ versucht was leider auch nicht funktioniert hat.

Kann mir da wer weiterhelfen? Schon mal vielen lieben Dank

Von was reden wir? Vom Dateisystem oder von HTTP?
Wenn ersteres, dann ist der Ausdruck falsch, es muss heißen …/…/A/B
Da du aber hinten dran xy.de und ab.de geschrieben hast, wäre es auch möglich dass du von HTTP sprichst, dann wäre es ab.de/A/B

mit …/…/A/B hat es bisher immer funktioniert.

Nur nach dem Wechsel vom Webspace auf den eigenen V-Server funktioniert dies nicht mehr (wahrscheinlich weil das Script davon ausgeht dass es keinen Oberordner mehr gibt).

via include 'ab.de/A/B/datei.php'; kann man es doch nicht einbinden, oder?

Ist das eine Antwort auf meine Nachfrage?

Ich weiß leider nicht wovon du sprichst.

War das so undeutlich?

Ich versuche es noch etwas genauer zu erklären.

Hier sind meine Domains, die ich auf den V-Server angelegt habe:

domain1.de => geht auf Ordner „ordner1“
domain2.de => geht auf Ordner „ordner2“

nun habe ich im Ordner „ordner2“ die Datei „xyz.php“, welche ich aber in der Datei „abc.php“ die im Ordner1 liegt includen möchte.

Normal geht das ja via
include ‚…/ordner2/xyz.php‘;

Nur genau das geht nun nicht mehr. Jetzt ist die Frage wieso nicht. Weil bisher hat es so immer bei mir funktioniert.

Denke deine Frage kann ich deswegen mit „Dateisystem“ beantworten.

Und dein Problem kann man vermutlich mit Vhost beantworten. Ich tippe mal drauf, dass Du für jede Domain einen eigenen Vhost eingerichtet hast. Diese können nicht auf jeweils anderen Vhost zugreifen.

Falls es das nicht ist: bist Du wirklich absolut sicher, dass die Pfade richtig sind? Inkl. Groß-/Kleinschreibung?

Dann spielt die Domain hier keine Rolle. Eigentlich sollte das nicht funktionieren, denn das ist eine grosse Sicherheitslücke, du darfst nicht bei anderen Nutzern den Ordner lesen können, wenn das vorher so war, dann war der Server schlcht konfiguriert.

Aber genau sagen können wir dir das nur, wenn du uns sagst, was du mit includen meinst und wie die Fehlermeldung lautet. Denn wenn du tatsächlich keine Zugriffsrechte hast, kommt auch eine entsprechende Fehlermeldung.

Das könnte gut möglich sein.

Als Domainpfad ist der jeweilige Ordner direkt eingetragen.

Hab mal die Fehlerausgabe mit „error_reporting(E_ALL);“ getestet und es kam leider keine Meldung.

Kann man denn irgendwie mit dem kompletten Serverpfad arbeiten?

Ja klar, nur wird der dir auch nichts bringen wenn der eine vhost nicht auf den anderen zugreifen darf.

Und wo kann man diese Einstellung am besten ändern?

Das hängt vom Webserver ab den Du verwendest sowie dem Betriebssystem, welches das Rechtemanagement bereitstellt. Kann man pauschal und ohne genauere Infos nicht sagen.

Wir reden also von PHP - auch mal eine Information - und php wirft keinen Fehler bei include?
Also laut Doku zumindest eine Warnung PHP: include - Manual - Läßt du dir die Warnungen auch anzeigen?

Stell dir mal vor, du mietest dir einen VServer bei irgendeinem Provider und alle anderen Leute die einen VServer bei diesem Provider haben können auf deinen VServer zugreifen, was würdest du dazu sagen?
Anders gesagt, das geht nicht, weil du keine Zugriffsberechtigung hast und das ist auch gut so.

Wenn das bislang immer funktioniert hat, dann hattest du bislang einen Fehler in den Einstellungen vom Host-PC.
Wenn du trotz aller Sicherheitsbedenken willst dass es wieder geht, musst du diesen Fehler halt wieder einbauen.