phpbar.de logo

Mailinglisten-Archive

[php] Bug in PHP 3.0.16 (?)

[php] Bug in PHP 3.0.16 (?)

Michael Bonfert bonfertm_(at)_cronau.com
Wed, 17 May 2000 18:07:23 +0200


Hallo,
wir haben hier genau die unten beschriebenen Symptome auch festgestellt.
Problematisch sind anscheinend Konfigurationen per .htaccess unter
Apache/1.3.12 und PHP 3.0.16.
In unserem Intranet  und anderen Webservern laufen  die ganzen Programme mit
Apache/1.3.9 und PHP 3.0.12 problemlos.
Auch wir arbeiten sehr intensiv mit der
.htaccess(mod_rewrite,auto_prepend_file,include_path).

Folgendes PHP Programm
<?print phpinfo();
?>
erzeugt z.B. diese völlig unsinnige Fehlermeldung:
"Fatal error: Failed opening required 'T' in
/www/test/de/htdocs/phplib/version.php3 on line 292"
Noch eigenartiger als die Fehlermeldung - sie tritt nicht bei jedem Aufruf
auf, sondern scheinbar zufällig.
Außerdem erscheint auch nicht immer die gleiche Meldung.

Im Root Verzeichnis liegt eine .htaccess Datei, in der
php3_include_path,php3_track_vars,php3_magic_quotes_gpc
verändert werden.
Lösche ich diese, so läßt sich der Fehler anscheinend nicht mehr
produzieren.

Markus  Dobel und Andreas Braukmann  haben das Problem vor 2 Wochen schon
mal diskutiert.
Seid ihr denn zu einer Lösung gekommen?
Die einzige Möglichkeit, die ich zur Zeit sehe ist ein Downgrade von PHP auf
3.0.12.

Michael





> 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
>
> --
> ** Durchgehend geöffnet: http://www.php-center.de **
> Die PHP-Liste: mailto:php_(at)_infosoc.uni-koeln.de
> http://infosoc.uni-koeln.de/mailman/listinfo/php
>



php::bar PHP Wiki   -   Listenarchive