[PHP-users 3628] Re: [Fwd: 4.1.0RC2]]

Yasuo Ohgaki php-users@php.gr.jp
Fri, 16 Nov 2001 23:25:23 +0900


Masashi Ohba wrote:

> 大場です。
> 
> Yasuo Ohgaki wrote;
> 
> 
>>Release Candidate 2がリリースされています。積極的に日本語環境で
>>4.1.0をテストされている方は少ないと思うので、php-usersにも転送します。
>>
> 
> FreeBSD 3.5-stableで4.1.0RC2のコンパイルは通るのに
> zlib周りで以下のエラーを出して、Apacheが正常に起動しない
> という症状を示しました。


config.m4の問題だった様な気がします。(たしかレポートされていたと思
います)


> 大垣さんが前に書いてたのと同じような症状でしょうか?
> 
> PHP Fatal error:  Cannot use both zlib.output_compression and 
> output_handler together!! in Unknown on line 0


このエラーメッセージはzlib.output_compressionとoutput_handlerを両
方設定すると正しく動作しないため追加されました。

mb_output_handlerと出力圧縮を利用するには

zlib.output_compressionを使う場合、mb_output_handlerをob_start()で
指定する。(お勧めの方法)

mb_output_handlerをoutput_handlerに設定してob_start()で
gz_output_handlerを指定する、等の方法があります。

 
> コンパイル済みの4.0.6が残ってるので急遽戻しましたが(^^;)
> ただ、この4.0.6はgdが前のバージョンの時にmakeした物ため、
> gdが入れ替わってしまった影響でphpinfo()で表示される
> ZendとPHPのロゴが出なくなってるんですよね…


私も最初バグかと思いました:)
コードを見てみると、expose_phpがoffの場合、ロゴが表示されない様に
なっていました。これはロゴイメージのURLがハードコードされているた
め、expose_phpをオフに設定してもハードコードされたURLでイメージが
戻るかどうかでPHPを利用している、していないが判別できる為です。


> 
> 他、2台ほどFreeBSD4.4-stableで試しましたが
> こっちはzlib周りのエラーが出ないでApacheが正常に起動しています。
> 
> ./configure 時は前にコンパイルしていた4.0.6と同じで
> 
> ./configure 
> --without-mysql \
> --with-pgsql \
> --with-apxs=/usr/local/apache/bin/apxs \
> --enable-track-vars \
> --enable-versioning \
> --enable-trans-sid \
> --enable-mbstring \
> --enable-mbstr-enc-trans \ 
> --with-ftp \
> --with-gd=/usr/local \
> --with-pdflib=/usr/local \ 
> --with-zlib=/usr \
> --with-ttf-dir=/usr/local \
> --with-jpeg-dir=/usr/local \
> --with-tiff-dir=/usr/local \
> --with-png-dir=/usr/local \
> --with-gdbm-dir=/usr/local
> 
> って感じです。
> それじゃzlib関係使うのやめるかと思って外すと、
> 「pngで使うからdirを指定したまへ」とアラートが出て
> ./configure途中で止まってくれました…ううむ(^^;)


レポートされていたと思います。(ステータス不明。多分CVSでは直ってい
る?と思います)

> 
> 
> 4.0.6に戻すと
> [Fri Nov 16 16:43:24 2001] [notice] Apache/1.3.22 (Unix) 
> mod_jk PHP/4.0.6 PHP/3.0.18-i18n-ja-2 mod_perl/1.26 
> configured -- resuming normal operations
> 
> と正常に起動します。
> 追っかけてませんが、zlib.cの135行目の
> 
> static PHP_INI_MH(OnUpdate_zlib_output_compression)
> {
>> }
> 
> という関数から出てるエラーというのはわかりました。
> PHP側のzlib周りに大きく手が入ったのかなぁ?


output bufferingのコードがかなりかわっている様です。
chanked outputが正しく処理される等。

> 
> #その程度しか知識無いのでハックできません(^^;)
> 
> 
> 3.5-stableも4.4-stableもzlibはソースのREADMEみると
> zlib 1.1.3 is a general purpose data compression library.
> と同じでした。
> 
> なのに、4.4-stableにはzopen.cってのがあるのに
> 3.5-stableには無いぞ。もしかしてこいつが原因か?


この辺りの情報は持っていませんが、判ったらメールします。

> 
> #OSを上げなさいという神様(デーモン君)のお告げかしら…
> 

私も、glibcをアップグレードしなさい、と言うお告げをもらっています :)

--
Yasuo Ohgaki

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/