phpbar.de logo

Mailinglisten-Archive

[php] Bug in PHP 3.0.16 (?)

[php] Bug in PHP 3.0.16 (?)

Markus Dobel mdobel_(at)_kawo2.rwth-aachen.de
Fri, 28 Apr 2000 18:25:50 +0200


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