プロが教えるわが家の防犯対策術!

現在apache2.0にPHP4.2.2を導入しようとしていますが、PHPのmake時にエラーが出てしまいます。

具体的には以下のようなメッセージを出力してmakeが止まります。

sapi_apache2.c: In function `php_register_hook':
sapi_apache2.c:534: warning: passing arg 3 of `ap_register_output_filter' makes pointer from integer
without a cast
sapi_apache2.c:534: too few arguments to function `ap_register_output_filter'
sapi_apache2.c:535: warning: passing arg 3 of `ap_register_input_filter' makes pointer from integer
without a cast
sapi_apache2.c:535: too few arguments to function `ap_register_input_filter'

またconfigureは以下のように実行しています。

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pgsql=/usr/local/pgsql/ --enable-mbstring --enable-mbstr-enc-trans --enable-trans-sid --enable-versioning --enab
le-mbregex

apache2.0の方はDSOを使えるようになっています。
webで調べたところ、sapi/apache2filter/php_functions.cを修正すればよいとの情報があったのでこのファイルの93行目を

#if !MODULE_MAGIC_AT_LEAST(20020506,0)
       ↓
#if !AP_MODULE_MAGIC_AT_LEAST(20020506,0)

に変更した後、同じ手順でmakeしましたがだめでした。
PHP4.2のapache2.0への対応がexperimentalなのは承知していますが、なんとかして現段階でインストールしたいと思っています。
どなたか情報をお願い致します。

A 回答 (1件)

httpd-2.0.40ですよね?



sapi/apache2filter/sapi_apache2.cの534行目と535行目の

ap_register_output_filter("PHP", php_output_filter, AP_FTYPE_RESOURCE);
ap_register_input_filter("PHP", php_input_filter, AP_FTYPE_RESOURCE);



ap_register_output_filter("PHP", php_output_filter, NULL, AP_FTYPE_RESOURCE);
ap_register_input_filter("PHP", php_input_filter, NULL, AP_FTYPE_RESOURCE);

と変更してコンパイルしてみてください。

phpは4.2.3がリリースされていますね。
    • good
    • 0
この回答へのお礼

ありがとうございます。
教えていただいたとおりにやったらうまくいきました。

4.2.3がでてますが日本語関係でバグがあるとのことなのでパッチが出るまでは4.2.2を使うつもりだったのです。

お礼日時:2002/09/15 13:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!