質問: apache2.0へのphp4導入時にエラーがでます。 現在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なのは承知していますが、なんとかして現段階でインストールしたいと思っています。 どなたか情報をお願い致します。
回答: 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がリリースされていますね。