• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Probleme mit include()

Hi,

also ich hab folgendes Problem:
ich hab ne Datei1.php, die Datei2.php per include(); einschließt. Datei2.php soll wiederrum mit include(); Datei3.php einbeziehen; dies geschieht aber nicht!
Was muss ich da machen damit dies funktioniert?
(an der Programmierung sollte es nicht liegen, auf meinem Win-Server und bei meinem Provider funktioniert es!!)

Danke schonmal
 
OP
A

arnydaniel

Newbie
Ja, nur halt mir klammer runtrum:
Code:
include("datei2.php");
und in datei2 dann:
Code:
include("datei3.php");
und das macht er dann nciht mehr
 
OP
A

arnydaniel

Newbie
Ich hab jetzt mal die Fehlermeldungen eingeschaltet:
Warning: %v%v() [function.%v]: failed to open stream: No such file or directory in /mnt/Files/Homepage/Aktuell/home/index.php on line 9

Warning: %v%v() [function.include]: Failed opening 'aktion/index.php' for inclusion (include_path='/usr/share/php5') in /mnt/Files/Homepage/Aktuell/home/index.php on line 9

Was soll mir das nun sagen?
 

panamajo

Guru
arnydaniel schrieb:
Da stimmt was mit deiner PHP Installation nicht. Statt der %v sollten Angaben über den Befehl und dessen Parameter kommen.
arnydaniel schrieb:
Warning: %v%v() [function.include]: Failed opening 'aktion/index.php' for inclusion (include_path='/usr/share/php5') in /mnt/Files/Homepage/Aktuell/home/index.php on line 9
Die Datei aktion/index.php kann nicht gelesen werden. Kann auch an fehlenden (Lese-)berechtigungen liegen.
 
OP
A

arnydaniel

Newbie
Ich hab php jetzt nochmal aktualisiert. nun sieht die Fehlermeldung so aus:
Warning: main(aktion/index.php) [function.main]: failed to open stream: No such file or directory in /mnt/Files/Homepage/Aktuell/home/index.php on line 9

Warning: main() [function.include]: Failed opening 'aktion/index.php' for inclusion (include_path='/mnt/Files/Homepage') in /mnt/Files/Homepage/Aktuell/home/index.php on line 9

Der PHP-Fehler schien also behoben.
An den Berechtigungen sollte es nicht liegen. Jder darf in diesen Ordnern lesen und schreiben.
Mit den Include_path hast das aber nichts zu tun, oder?

Gruß
 

beleg

Member
Ist denn die einzufügende Datei auch da, wo sie sein sollte? Sie wird jedenfalls nicht gefunden.
 
OP
A

arnydaniel

Newbie
Ja die Datei ist da. Wenn ich genau diese Homepage mit dem Win-Server aufrufe, funktioniert es ja auch. (der Win der der Lin-Server greifen auf das selbe verzeichnis zu!)
 

panamajo

Guru
Ein Hinweis zu include() mit relativen Pfadangaben:
Die Pfadangaben werden relativ zum _ursprünglich_ aufgerufenem Skript ergänzt, dies gilt auch für verschachtelte includes.
 
OP
A

arnydaniel

Newbie
1. Danke für den Tipp panamajo, aber diese Tatsache ist mir schon bewusst (sonst würde die Page ja unter Windows und beim Provider auch nicht laufen)
2. Mit komplettem Pfad funktioiert es tatsächlich!! *freu*
Allerdings würde eine entsprechende Anpassung der gesamten HP eine Menge Arbeit machen. Gibt es irgendwie die Möglichkeit, dass dem auch die relativen Pfade genügen? z.B. in der php.ini? (hab schonmal geschaut aber nichts entsprechendes gefunden)
 
OP
A

arnydaniel

Newbie
ich hab darüber nochmal nachgedacht und bin auf einem Widerspruch gestoßen.
Anscheinend liegt es ja daran, dass nicht der komplette Pfad angegeben wurde. Aber wie klappt dann das Includein Datei1 (mit der Datei2), wo ebensfalls nur ein relativer Pfad vorhanden ist?
Irgendwie ist das alles seltsam!
 
OP
A

arnydaniel

Newbie
ES IST VOLLBRACHT!!!
Das Problem ist gelöst!! Ich versteh es zwar nicht, aber es funktioniert.
Ich hab in der php.ini den include_path="./" gesetzt.
Ich hab mal nachgesehn und festgestellt, dass der include_path bei mienem Win-Server auf irgend ein Verzeichnis zeigt und es trotzdem funktioniert...

Danke für eure Hilfe!!
 

Yehudi

Guru
arnydaniel schrieb:
ES IST VOLLBRACHT!!!
Das Problem ist gelöst!! Ich versteh es zwar nicht, aber es funktioniert.
Ich hab in der php.ini den include_path="./" gesetzt.
Ich hab mal nachgesehn und festgestellt, dass der include_path bei mienem Win-Server auf irgend ein Verzeichnis zeigt und es trotzdem funktioniert...

Danke für eure Hilfe!!

Wenn Du SuSE hast sind die Pfade teilweise anderers, als bei anderen Systemen.
 
Oben