Bernhard Sybrandi wrote:
Hallo ,
habe vor kurzem meinem Rechner eine neue Festplatte verpasst und SUSE10.0 OSS aufgespielt. Für meine Ahnenforschung benutze ich das Programm phpGedview. Die lief unter SUSE 9.0 mit Apache, Mysql und PHP4.0 einwandfrei. Jetzt mit Apache 2.0, PHP 4.406 und Mysql geht nichts. Bei der Installation bekomme ich folgende Meldung:
Warning: main(includes/functions.php): failed to open stream: No such file or directory in /srv/www/htdocs/phpGedView/includes/session.php on line 138
Fatal error: main(): Failed opening required 'includes/functions.php' (include_path='/usr/share/php') in /srv/www/htdocs/phpGedView/includes/session.php on line 138
Ändere ich den Pfad der "functions.php" in nur functions.php wird das Script weiter verarbeitet bis irgenwo die Datei wieder aufgerufen wird.
Gibt es eine möglichkeit dem Apache zu sagen das er auch ein Verzeichniss höher suchen soll bzw im Wurzelverzeichniss des Programms?
Seit SuSE 10.0 wird PHP ohne . im search path installiert, damit findet er dann includes nicht mehr die nur einfach mit 'includes/functions.php' angegeben sind. Funktionieren tun nur noch './includes/functions.php' Das Thema wurde in folgendem Bug besprochen: https://bugzilla.novell.com/show_bug.cgi?id=129682 Novell/SuSE stellt sich auf den Standpunkt dass ein . im pfad ein Sicherheitsproblem sei, während die meisten anderen distributionen und auch PHP selbst den punkt vorschlägt.... Abhilfe verschafft die änderung von /etc/php.ini beim Parameter include_path hänge einfach ein .: davor Bei mir mit PHP5 sieht das zB so aus: include_path = ".:/usr/share/php5:/usr/share/php5/PEAR" Und schon läufts wieder :) Grüsse Matti