|
|
|
|
PHP Pfadproblem |
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
|
|
PHP Pfadproblem |
|
Hallo,
beim Aufruf einer PHP Klasse in einer Webanwendung bekomme ich folgende Fehler:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
Export fehlgeschlagen.
Fehlertext:
Warning: xtcommerce::require_once() [function.require-once]: open_basedir restriction in effect. File(...shop/admin/includes/configure.php) is not within the allowed path(s): (/var/www/vhosts/mydomain/httpdocs:/tmp) in /var/www/vhosts/mydomain/httpdocs/classes/xtcommerce.class.php on line 26
Warning: xtcommerce::require_once(.../shop/admin/includes/configure.php) [function.require-once]: failed to open stream: Operation not permitted in /var/www/vhosts/mydomain/httpdocs/classes/xtcommerce.class.php on line 26
Fatal error: xtcommerce::require_once() [function.require]: Failed opening required '.../shop/admin/includes/configure.php' (include_path='.:') in .../mydomain/httpdocs/classes/xtcommerce.class.php on line 26 |
|
So, das das irgendwas an den Pfaden nicht stimmt, sehe ich auch.
In der Klasse wird an eine übergebene Variable und einem Pfad ein require_once gemacht:
require_once($shoppath . "/admin/foo/configure.php");
Wie kann ich dieses Problem jetzt lösen?
Steh da gerade etwas auf dem Schlauch. :/
phlox
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
27.04.2009 19:04 |
|
|
LX
El Comandante en Jefe
Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx
|
|
Kann es sein, dass $shoppath einfach mit einem Punkt zuviel beginnt? Wo diese Variable gesetzt wird, musst du aber selber rausfinden
__________________ JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett
|
|
28.04.2009 00:23 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
Zitat: |
Original von LX
Kann es sein, dass $shoppath einfach mit einem Punkt zuviel beginnt? Wo diese Variable gesetzt wird, musst du aber selber rausfinden
|
Ja, also das könnte sein. Ich hab da keine große Ahnung, ich weiss wo es auftritt, aber wie das aufgerufen wird, ka. Wahrscheinlich in irgendeiner Ajaxfunktion.
Auch gibt es auf dem htdocs ordner (also dem Webroot) das Verzeichnis nicht.
Auch sonst kann ich das nicht finden.
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
28.04.2009 00:30 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
Also ich hab das mittlerweile eingrenzen können.
Es gibt:
domain.de
und eine subdomain
kunden.domain.de
Bei der Subdomain tritt der Fehler auf, da der Shop/die PHP Dateien auf domain.de liegen.
Das ist zwar auf dem selben Server vermute ich, aber halt doch nicht im Pfadbereich der Anwendung.
Wie kann ich das jetzt beheben?
phlox
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
29.04.2009 13:37 |
|
|
Misel
Hüter des Kitkat
Dabei seit: 02.11.2002
Beiträge: 1.203
Herkunft: live://home.berlin.d
e
|
|
naja, du musst den Pfad rausfinden unter dem die Domain.de-Daten liegen und entsprechend anpassen %)
am besten erstellst Du eine Datei mit folgendem Inhalt:
php: |
1:
2:
3:
|
<?php
print getcwd() . "\n";
?> |
|
und packst die in beide Domains. Dann hast Du jeweils den vollen Dateipfad und kannst ihn dann korrigieren.
__________________ LAUFT! Ich spiele KILLERSPIELE!
|
|
29.04.2009 16:42 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
Wenn ich das richtig interpretiere liegt der shop unter:
/var/www/web1/web/shop/
Und wird von einem Unterverzeichnis aus
/var/www/vhosts/subdomain.domain.com/httpdocs/
aufgerufen.
Wie müsste ich das jetzt korrekt umbiegen? ../ wird ja wohl nicht erlaubt sein.
phlox
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
18.05.2009 11:12 |
|
|
Zyrus
Exil-Wessi
Dabei seit: 01.04.2003
Beiträge: 538
Herkunft: Around The World
|
|
Vielleicht könntest du es mit dieser Zeile versuchen
code: |
1:
|
set_include_path(get_include_path() . PATH_SEPARATOR . 'absoluterpfad'); |
|
oder mit mod_rewrite()
oder ich hab (mal wieder) was falsch verstanden
Hoffe es hilft dir
Greetz
Zyrus
__________________ Der Computer arbeitet deshalb so schnell, weil er nicht denkt.- Gabriel Laub -
|
|
18.05.2009 16:04 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
Ja, die Pfade zu bearbeiten hab ich mir auch schon überlegt, aber ob ich da jetzt das so einfach tun will, hm, ich zögere da was.
Ist set_include_path dauerhaft? Oder müsste ich das bei jedem skriptaufruf erneut setzen?
phlox
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
18.05.2009 18:30 |
|
|
rami
Webdeveloper
Dabei seit: 13.06.2008
Beiträge: 14
Herkunft: Mannheim
|
|
Zitat: |
Original von phlox81
Ja, die Pfade zu bearbeiten hab ich mir auch schon überlegt, aber ob ich da jetzt das so einfach tun will, hm, ich zögere da was.
Ist set_include_path dauerhaft? Oder müsste ich das bei jedem skriptaufruf erneut setzen?
phlox |
Wirkt nur temporär. http://de3.php.net/manual/de/function.set-include-path.php
__________________
|
|
18.05.2009 18:40 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
Hilft leider nicht, der Pfad wird immer noch nicht aktzeptiert.
Auch ein ändern von require_once auf include bringt nichts.
code:
code: |
1:
|
set_include_path(get_include_path() . PATH_SEPARATOR . '/var/www/web12/web/shop/admin/includes') |
|
Sonst Ideen?
phlox
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
18.05.2009 19:21 |
|
|
Zyrus
Exil-Wessi
Dabei seit: 01.04.2003
Beiträge: 538
Herkunft: Around The World
|
|
Mmh, mit mod_write() auch nicht ?
btw. Deine Fehlermeldung im 1. Post deutet doch sehr darauf hin das du per Script keinen Zugriff bekommst.. oder irre ich mich da ?
Vllt. mal die Benutzernamen, etc. anpassen ?!
Greetz
Zyrus
__________________ Der Computer arbeitet deshalb so schnell, weil er nicht denkt.- Gabriel Laub -
|
|
18.05.2009 19:48 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
Themenstarter
|
|
Zitat: |
Original von Zyrus
Mmh, mit mod_write() auch nicht ?
btw. Deine Fehlermeldung im 1. Post deutet doch sehr darauf hin das du per Script keinen Zugriff bekommst.. oder irre ich mich da ?
Vllt. mal die Benutzernamen, etc. anpassen ?!
|
Hm, so richtig sicher bin ich bei einigen Dingen auch nicht. Ich tu da gerade mehr im Trüben rumstochern, weil ich halt nur der Betreuer sein soll, aber der Kunde bisher da nicht viel an Infos gegeben hat zu.
Ich denke das ich evtl. das Skript noch mal genau analysieren werde, denn ich hab den Verdacht, das es reicht, einfach den Shop lokal unter der Subdomain zu installieren. Genutzt wird es scheinbar nur um die DB auszulesen, und im bzw. export in xtcommerce zu realisieren.
So zumindest mein Eindruck.
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
18.05.2009 23:31 |
|
|
|
|
|
|