Xampp raltive Pfade

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Xampp raltive Pfade

Postby homermg » 08. August 2006 13:44

Hallo Leute,

habe heute xampp installiert, also die neueste Version.

Nun habe ich eine HP im im ordenr htdocs/test

in einer index.php im verzeichniss test ist folgender Eintrag:
require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/static/static.php';

hier ist nocheinamll die Dateistruktur

htdocs\test\includes\static\static.php
htdocs\test\index.php

leider wird statik.php nicht gefunden.

müsste doch ohen Prob. zufinden sein oder?

Frage 2

wollte die HP mall online stellen. da der PC mit xamp im lokalem Netzwerk steht hintger einem W3k Server mit einer fetsen IP müsste ich nur wissen auf welchen Port ich diese umleiten muß?

thanks in advance
homermg
 
Posts: 3
Joined: 30. May 2005 12:21

Postby Wiedmann » 08. August 2006 14:23

Code: Select all
require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/static/static.php';

hier ist nocheinamll die Dateistruktur
htdocs\test\includes\static\static.php


Schon mal geschaut was dabei herauskommt? ;-)
Code: Select all
echo $_SERVER['DOCUMENT_ROOT'] . '/includes/static/static.php';

Allerdings solltest du bei require() ja eine Fehlermeldung bekommen, die dir das auch schon anzeigt....

müsste ich nur wissen auf welchen Port ich diese umleiten muß?

Webserver arbeiten auf dem Port 80.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby homermg » 08. August 2006 14:31

Warning: require_once(C:/apachefriends/xampp/xampp/xampp/htdocs/includes/static/static.php) [function.require-once]: failed to open stream: No such file or directory in C:\apachefriends\xampp\xampp\xampp\htdocs\test\index.php on line 3

genau das is ja mein Prob.

versucht die index.php in der Zeile 3 auf die static.php zuzugreifen nur warum er den ordenr "test" nicht nimmt verseteh ich nicht.

diese Struktur /includes/static/static.php liegt im Ordenr htdocs/test sowie die index.php also müsste er doch auch unterhtdocs/test//includes/static/static.php nach der static.php suchen.

nur warum macht er das nicht?
homermg
 
Posts: 3
Joined: 30. May 2005 12:21

Postby Wiedmann » 08. August 2006 15:21

Mal 'ne Runde Dextro rüberschmeiss ;-)

require_once $_SERVER['DOCUMENT_ROOT'] . '/includes/static/static.php';

Warning: require_once(C:/apachefriends/xampp/xampp/xampp/htdocs/includes/static/static.php) [function.require-once]:

Warum könnte ein:
$_SERVER['DOCUMENT_ROOT'] . '/includes/static/static.php'

wohl zu diesem Pfad führen:
C:/apachefriends/xampp/xampp/xampp/htdocs/includes/static/static.php

und nicht zu diesem:
C:/apachefriends/xampp/xampp/xampp/htdocs/test/includes/static/static.php

So als Tipp könntest du dir die Ausgabe von phpinfo() anschauen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby sari42 » 08. August 2006 16:16

ohne die pädagogischen Bemerkungen von Wiedmann herabwürdigen zu wollen:
versuch mal
require_once $_SERVER['DOCUMENT_ROOT'] . './includes/static/static.php';
oder
require_once $_SERVER['DOCUMENT_ROOT'] . 'includes/static/static.php';

alternativ könnte man die includes auch im 'pear' suchpfad unterbringen.
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby Wiedmann » 08. August 2006 16:44

sari42 wrote:versuch mal
require_once $_SERVER['DOCUMENT_ROOT'] . './includes/static/static.php';
oder
require_once $_SERVER['DOCUMENT_ROOT'] . 'includes/static/static.php';

Kann natürlich aus dem selben Grund, den es hier ja herauszufinden gilt, genausowenig funktionieren ;-)

sari42 wrote:alternativ könnte man die includes auch im 'pear' suchpfad unterbringen.

Du meinst im "include_path" der "php.ini". Da ist zwar auch PEAR aufgeführt, ist aber nicht der "'pear' suchpfad" ;-)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby sari42 » 08. August 2006 20:01

>Kann natürlich aus dem selben Grund, den es hier ja
>herauszufinden gilt, genausowenig funktionieren
ach ja?

>Du meinst im "include_path" der "php.ini". Da ist zwar
>auch PEAR aufgeführt, ist aber nicht der "'pear' suchpfad"
natürlich hast Du Recht, ich hatte nur im Gedächtnis, was in der Fehlermeldung steht, daher die Anführungszeichen.
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby Wiedmann » 08. August 2006 21:53

sari42 wrote:
Wiedmann wrote:kann natürlich aus dem selben Grund, ..., genausowenig funktionieren

ach ja?

Hast recht. Deine Beispiele tun nicht aus dem selben Grund wie beim OP nicht. Sie können so oder so nicht tun... Sorry.

(Aber ich denke, das lenkt jetzt alles den OP von der Frage ab, die er eigentlich beantworten soll.)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby OstSan » 09. August 2006 13:22

Dann sag ich dir das einfachmal schnell woran das liegt bzw. wie du das prob löst nachdem sie dich hir in der Luft hängen lassen ;)

Also das $_SERVER['DOCUMENT_ROOT'] bezieht sichauf die adresse

http://localhost oder http://127.0.0.1 jenachdem was dir mehr sagt ;) is ja beides das selbe

um der Sache ausdem weg zugehen gibt es für mich 2 möglichkeiten:)

1. möglichkeit

entweder du schreibst in dein script
Code: Select all
require_once $_SERVER['DOCUMENT_ROOT'] . '.test/includes/static/static.php';


Oder du machst es einfacher und kompatibler zu deinem Online projeckt
und erstelst dir in deiner config.php (sofern vorhanden bei dem script)
eine Variable ala
Code: Select all
$domain = 'http://127.0.0.1/test/';


und ersetzt alle
Code: Select all
require_once $_SERVER['DOCUMENT_ROOT'] . '..........;


in deinem Script mit

Code: Select all
require_once $domain. '..........;


und wenn du das script dann online betreibst änderst du einfach die config.php und vola schon läuft es online und offline ;)

mfg
OstSan
OstSan
 
Posts: 2
Joined: 09. August 2006 13:09

Postby Wiedmann » 09. August 2006 13:26

OstSan wrote:Dann sag ich dir das einfachmal schnell woran das liegt bzw. wie du das prob löst nachdem sie dich hir in der Luft hängen lassen

Du bist zwar auf dem richtigen Weg, hast das (wohl) grundlegende erkannt :-) Wirklich funktionieren tun aber trotzdem beide Möglichkeiten von dir nicht...
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby OstSan » 10. August 2006 00:49

meinst du jetzt weil ich mich in den slashes verhauen hab ?

Code für die config.php
Code: Select all
$domain = 'http://127.0.0.1/test';


Überall wo $_SERVER['DOCUMENT_ROOT'] vorkommt
Code: Select all
require_once $domain . '/includes/static/static.php';


^^So funktioniert es bei meinem Script sollte also auch mit anderen
funktionieren

mfg
OstSan
OstSan
 
Posts: 2
Joined: 09. August 2006 13:09

Postby Wiedmann » 10. August 2006 00:58

OstSan wrote:meinst du jetzt weil ich mich in den slashes verhauen hab ?

Soweit du die 1. Methode aus deinem ersten Post meinst? Ja.

Die 2. Methode, die du auch hier wieder aufgreifst, war dahingehen ok.

OstSan wrote:So funktioniert es bei meinem Script sollte also auch mit anderen
funktionieren

Was deine 2. Methode von vorher und deinen letztem Post angeht:
Für das wofür man includes/requires normal benutzt, wie auch der OP, funktioniert das so nicht.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 7 guests