![]() Mailinglisten-Archive |
Hallo, vor einiger Zeit hatte ich in der Newsgroup de.comp.lang.php von einem Fehlverhalten des PHP-Moduls auf meinem Rechner berichtet. Bis heute scheint jedoch keiner ausser mir hier diesen Fehler nachvollziehen zu koennen. Er fiel mir auf, als ich fuer die PHPlib das auto_prepend_file per .htaccess-Datei konfigurieren wollte. Daher dachte ich, es laege vielleicht wirklich an meiner speziellen Konfiguration bzw. einem Fehler meinerseits und habe mir anstatt der php3_auto_prepend_file-Geschichte mit einem require der PHPlib-prepend.php3 beholfen. Nun hatte ich heute die Gelegenheit, auf einem voellig jungfraeulichen SuSE 6.3 noch einmal ein wenig damit herumtesten zu koennen, und siehe da, auch dort hatte ich wieder den gleichen Fehler. Daher bitte ich jetzt noch einmal darum, dass (sofern moeglich) sich jemand die Muehe macht, dies auch bei sich noch einmal so nachzuvollziehen bzw. mir zu sagen, ob das nun ein Fehler ist, der bei mir liegt oder doch bei PHP. Bisher scheue ich mich noch, dafuer einen Bug-Report abzusetzen, da sonst scheinbar keiner diesen Fehler bisher provozieren konnte. Das einzige, was auf diesem Rechner nicht von der Distributions-CD kam, war PHP. Dies hab ich als Source (3.0.16) gesogen und als DSO selberkompiliert und dort eingebunden. Die Serversoftware dort ist nun: Apache/1.3.9 (Unix) (SuSE/Linux) mod_perl/1.21 PHP/3.0.16 mod_ssl/2.4.7 OpenSSL/0.9.4 Der dazugehoerige ./configure-Befehl lautete: ./configure --with-apxs=/usr/sbin/apxs --with-xml --with-mysql=/usr --with-dbase=yes --with-ftp --with-pdflib --with-libtiff=/usr --with-libjpeg=/usr --with-gd=/usr --with-zlib=/usr --with-ttf=/usr --with-config-file-path=/etc/httpd --enable-debug=no --enable-safe-mode=no --enable-track-vars=yes --enable-magic-quotes=yes --enable-bcmath=yes --enable-memory-limit=yes --enable-sysvsem --enable-sysvshm Danach habe ich es noch ges"strip"ped und mit "make install" installiert sowie das dadurch resultierende doppelte "LoadModule" in der httpd.conf entfernt. An den config-files habe ich ansonsten nur ein "AllowOverride all" in der httpd.conf fuer die folgenden Verzeichnisse eingetragen: /usr/local/httpd/htdocs /home/blafasel/public_html in beiden Verzeichnissen habe ich Unterverzeichnisse mit dem Namen "test" angelegt und folgende Dateien hineingelegt: in /usr/local/httpd/htdocs/test/: .htaccess: php3_magic_quotes_runtime off order deny,allow deny from all allow from 137.226.250. 137.226.251. # bitte durch eigene IP-Bereiche ersetzen :o) index.php3: <?php phpinfo(); ?> Die Dateien gehoeren alle root. in /home/blafasel/public_html/test/: .htaccess: php3_include_path ".:/home/blafasel/public_html/test" php3_auto_prepend_file "/home/blafasel/public_html/include.php3" index.php3: <?php phpinfo(); ?> include.php3 hat eine groesse von 0 bytes. Diese Dateien gehoeren alle dem User blafasel. Als naechstes rufe ich nun ueber den Browser die URL http://servername/test/index.php3 auf, alles ist in Ordnung. Nun gebe ich die URL http://servername/test/~blafasel/test/index.php3 in den Browser ein und lasse diese einige Male reloaden. Danach wieder zurueck zur ersten URL. An dieser Stelle bekomme ich nun die Fehlermeldung, dass das benoetigte File "<wilder asciisalat>" nicht gefunden werden konnte. Das ganze kann man nun ein wenig entschaerfen, indem man in die Datei /usr/local/htdocs/test/.htaccess die Zeile php3_auto_prepend_file none einfuegt. Somit bekommt man dann wieder die phpinfo() angezeigt, jedoch ist der include_pfad nicht auf none, sondern irgendwelcher ascii-salat, oder aber ein Fragment der aktuellen .htaccess-Datei (z.b. das Wort "order"). Koennte das vielleicht jemand auf seinem Rechner nachbauen und mir von seinen Erfahrungen berichten? Vielleicht hat auch jemand die Moeglichkeit, das genauer nachzuvollziehen, wo genau der Fehler auftritt. Gruss, Markus
php::bar PHP Wiki - Listenarchive