Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: document_root und include_path
AUTOR BEITRAG
Ynusis

RANG Deckschrubber

#1 - 08.02 16:16

Verzeichnisstruktur:

...
/lib/mysql.php
/lib/mysql.class.php
...

_SERVER["DOCUMENT_ROOT"]: /home/michael/Webprojekte/A/Code/
_SERVER["SCRIPT_FILENAME"]: /home/michael/Webprojekte/A/Code/lib/mysql.php

In der Datei mysql.php will ich dann ein include("/lib/mysql.class.php") machen.

Aber:
code:

Warning: include(/lib/mysql.class.php) [function.include]: failed to open stream: No such file or directory in /home/michael/Webprojekte/CruelWars/Code/lib/mysql.php on line 4

Warning: include() [function.include]: Failed opening '/lib/mysql.class.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/michael/Webprojekte/CruelWars/Code/lib/mysql.php on line 4


Tjo. Ich steig da irgendwie nicht ganz durch, wie das mit den includes geht bei "absoluten" Pfaden.
vaest´ark // patrick *ich bin hier nicht der depp*

RANG Master of Clanintern

#2 - 08.02 16:31

entweder den doc-root vorne mit dranhängen oder ./ benutzen.

(edit)
du willst keine hardcodierten absoluten pfade verwenden.
Ynusis

RANG Deckschrubber

#3 - 08.02 16:36

hm.

Also das Problem ist, ich hab auf meinem Laptop eine andere Verzeichnisstruktur als auf dem Server.

Auf dem Laptop ist document_root /home/michael/Webprojekte/A/Code/ auf dem Server /var/www/localhost/htdocs/

Ist es nicht möglich, da so zu arbeiten, dass ich nicht alle Pfade ändern muss wenn ich das ganze auf dem Server laufen habe?
vaest´ark // patrick *ich bin hier nicht der depp*

RANG Master of Clanintern

#4 - 08.02 16:41

sag ich doch. lass den quatsch mit dem doc-root und bezieh dich immer relativ auf die oberste inkludierende datei.

index.php:
include('./lib/mysql.php');

./lib/mysql.php:
include('./lib/mysql.class.php');

./lib/mysql.class.php:
include('./lib/foo/bar/foobar.php');

./lib/foo/bar/foobar.php:
include('./functions/foo.func.php');

(edit)
verzeichnisstruktur sähe so aus:

index.php
lib/
lib/mysql.php
lib/mysql.class.php
lib/foo/
lib/foo/bar/
lib/foo/bar/foobar.php
functions/
funtions/foo.func.php
Ynusis

RANG Deckschrubber

#5 - 08.02 18:10

[edit]

include_path auf /home/.../Code/ gesetzt und dann einfach mit include("lib/mysql.php")