php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.)
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) Probleme, Apache mit PHP oder MySQL zum Laufen zu bringen? Anpassung an .htaccess, httpd.conf oder php.ini funktionieren nicht? In diesem Forum könnt ihr eure Erfahrungen austauschen.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-05-2008, 00:34
derTomsen
 Newbie
Links : Onlinestatus : derTomsen ist offline
Registriert seit: Mar 2007
Beiträge: 8
derTomsen ist zur Zeit noch ein unbeschriebenes Blatt
Standard PHP-include vom Rootlevel aus

Hallo zusammen,

ich hab ein komisches Phänomen mit meiner Serverkonfiguration.
Zur Situation: ich verwende portbasierte virtuelle Hosts und wenn ich in meinem PHP-Skript z.B.
PHP-Code:
include(/includes/config.php); 
aufrufe, interpretiert PHP den ersten Slash als Rootlevel des Servers (also nicht das Rootlevel des VHosts!).

In der Konfiguration des VHosts ist das DocumentRoot aber richtig gesetzt.

An welcher Einstellung kann das noch liegen?
Bin für jeden Tip dankbar...
Mit Zitat antworten
  #2 (permalink)  
Alt 21-05-2008, 02:49
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Das hat mit VHosts nichts zu tun, das ist immer so.
Mit Zitat antworten
  #3 (permalink)  
Alt 21-05-2008, 08:44
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard Re: PHP-include vom Rootlevel aus

Zitat:
Original geschrieben von derTomsen
Hallo zusammen,

ich hab ein komisches Phänomen mit meiner Serverkonfiguration.
Zur Situation: ich verwende portbasierte virtuelle Hosts und wenn ich in meinem PHP-Skript z.B.
PHP-Code:
include('/includes/config.php'); 
aufrufe, interpretiert PHP den ersten Slash als Rootlevel des Servers (also nicht das Rootlevel des VHosts!).

In der Konfiguration des VHosts ist das DocumentRoot aber richtig gesetzt.

An welcher Einstellung kann das noch liegen?
Bin für jeden Tip dankbar...
PHP-Code:
include("./includes/config.php"); #aktuelles verzeichnis 
PHP-Code:
include($_SERVER['DOCUMENT_ROOT']."/includes/config.php"); #ab document root 
__________________
Gruß
Uzu

private Homepage

Geändert von UzumakiNaruto (21-05-2008 um 10:18 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 21-05-2008, 09:48
derTomsen
 Newbie
Links : Onlinestatus : derTomsen ist offline
Registriert seit: Mar 2007
Beiträge: 8
derTomsen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die Antworten.

@UzumakiNaruto: diese Methoden sind mir bekannt und sie funktionieren auch wunderbar.

Die Sache ist, dass ich keine relativen Pfade in der Applikation will, damit sich z.B. das Includen übersichtlicher und logischer gestaltet.
Ich finde es ziemlich unsexy, wenn man aufgrund der Ordnerstruktur solche
PHP-Code:
include('../../includes/db/driver.php'); 
'Monster' findet.

Da ist doch
PHP-Code:
include('/includes/db/driver.php'); 
viel komfortabler, oder? Vor allem, weil es dann egal ist, in welchem Ordner man sich befindet.

@onemorenerd: es muss schon mit der VHost-Konfiguration zusammenhängen, weil wenn z.B. über Plesk neue Subdomains angelegt werden, hat PHP auch keine Include-Rechte vom Rootlevel aus. Das wär ja sicherheitstechnisch ein SuperGAU!

Also an irgendeiner Einstellung á la DocumentRoot, open_basedir oder include_path wird noch geschraubt werden müssen...

Geändert von derTomsen (21-05-2008 um 09:51 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 21-05-2008, 10:14
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Die Sache ist, dass ich keine relativen Pfade in der Applikation will, damit sich z.B. das Includen übersichtlicher und logischer gestaltet.
Ich finde es ziemlich unsexy, wenn man aufgrund der Ordnerstruktur solche
Und warum verwendest du dann nicht die Version mit DOCUMENT_ROOT (das ist garantiert kein relativer Pfad)?
Und sonst denke ich du musst mit dem include_path arbeiten (http://lists.apple.com/archives/web-.../msg00052.html)
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #6 (permalink)  
Alt 21-05-2008, 10:17
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

dann nimm doch ein script um DEIN root zu finden

PHP-Code:
$folder_level "";
while (!
file_exists($folder_level."config.php"))
{
   
$folder_level .= "../";
}
require_once (
$folder_level."config.php");
define("BASEDIR"$folder_level); 
das schreibst du in eine datei die du eh immer brauchst .... z.b. functions.php .. und schon hast du deinen "relativen" pfad
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #7 (permalink)  
Alt 21-05-2008, 10:47
derTomsen
 Newbie
Links : Onlinestatus : derTomsen ist offline
Registriert seit: Mar 2007
Beiträge: 8
derTomsen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die schnellen Antworten.

Den include_path hab ich schon wie beschrieben angepasst. Leider funktioniert das auch nicht so wie gewollt (also ein include('/includes...') führt wieder ins Rootlevel des Servers).

So richtig zufrieden bin ich zwar noch nicht, aber es wird wohl die DocumentRoot-Methode werden, weil die noch am performantesten ist.

Aber danke an alle!

/tom
Mit Zitat antworten
  #8 (permalink)  
Alt 21-05-2008, 10:53
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Den include_path hab ich schon wie beschrieben angepasst. Leider funktioniert das auch nicht so wie gewollt (also ein include('/includes...') führt wieder ins Rootlevel des Servers).
Aber ein include('datei.php') sollte aber für jeden VHost funzen, ohne Angabe des Include-Verzeichnisses
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #9 (permalink)  
Alt 21-05-2008, 11:03
derTomsen
 Newbie
Links : Onlinestatus : derTomsen ist offline
Registriert seit: Mar 2007
Beiträge: 8
derTomsen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von jahlives
Aber ein include('datei.php') sollte aber für jeden VHost funzen, ohne Angabe des Include-Verzeichnisses
Das stimmt und funktioniert auf jeden Fall.
Wenn ich halt in einem Unterordner die datei.php einbinden will muss ich ein '../' davor setzen. Und das wollte ich vermeiden.
Mit Zitat antworten
  #10 (permalink)  
Alt 21-05-2008, 11:15
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Wenn ich halt in einem Unterordner die datei.php einbinden will muss ich ein '../' davor setzen. Und das wollte ich vermeiden.
Solange sich datei.php im Include Path des jeweiligen VHosts befindet brauchst du eigentlich keine ../ im Pfad. Da reicht der Name doch aus. Oder verstehe ich dein Problem nicht ganz ?

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #11 (permalink)  
Alt 21-05-2008, 11:22
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zitat:
es muss schon mit der VHost-Konfiguration zusammenhängen, weil wenn z.B. über Plesk neue Subdomains angelegt werden, hat PHP auch keine Include-Rechte vom Rootlevel aus. Das wär ja sicherheitstechnisch ein SuperGAU!
Wenn du foo.php in deinem DocRoot includieren kannst, dann auch /Pfad/zum/DocRoot/foo.php. Die Zugriffsrechte auf eine Datei sind nicht von der Art der Referenzierung (relativ/absolut) abhängig.
Mit Zitat antworten
  #12 (permalink)  
Alt 21-05-2008, 11:28
UzumakiNaruto
 Registrierter Benutzer
Links : Onlinestatus : UzumakiNaruto ist offline
Registriert seit: Nov 2004
Beiträge: 642
UzumakiNaruto befindet sich auf einem aufstrebenden Ast
Standard

doc_root
- foo.php
-- dir1
--- bar.php
-- dir2
-- dir3

bar.php
PHP-Code:
include ("../foo.php"); 
../ wollte er vermeiden durch /foo.php aber dann ist er im wurzelverzeichnis seines linux systems und nicht mehr im doc_root
__________________
Gruß
Uzu

private Homepage
Mit Zitat antworten
  #13 (permalink)  
Alt 21-05-2008, 11:42
derTomsen
 Newbie
Links : Onlinestatus : derTomsen ist offline
Registriert seit: Mar 2007
Beiträge: 8
derTomsen ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von UzumakiNaruto
../ wollte er vermeiden durch /foo.php aber dann ist er im wurzelverzeichnis seines linux systems und nicht mehr im doc_root
Genauso ist es!
Mit Zitat antworten
  #14 (permalink)  
Alt 21-05-2008, 11:50
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Und so war es schon immer.

Wollen wir uns jetzt weiter im Kreis drehen oder siehst du ein, dass absolute Pfade immer absolut zum Wurzelverzeichnis des Dateisystems sind und deine Apachekonfiguration daran nichts ändern kann?!
Mit Zitat antworten
  #15 (permalink)  
Alt 21-05-2008, 11:58
derTomsen
 Newbie
Links : Onlinestatus : derTomsen ist offline
Registriert seit: Mar 2007
Beiträge: 8
derTomsen ist zur Zeit noch ein unbeschriebenes Blatt
Wink

Für mich ist das Thema sowieso schon erledigt...

Also, danke und schönen Tag noch!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:55 Uhr.