[PHP-users 9358] php-4.2.2 with apache-2.0.40 compile error
Yoshio Funaki
php-users@php.gr.jp
Mon, 19 Aug 2002 08:55:43 +0900
船木@秋田県立図書館と申します。
MLに流れてないようなので、先達のご指導をよろしくお願いいたします。
さて、php-4.2.2ですが、apache-2.0.39との組み合わせで、例の
!MODULE_ -> !AP_MODUL_ のhackを行って、compile&installが
うまくいっていますが、おなじソースで、apache-2.0.40では
compile error(Too few arguments)がおき、うまくいきません。
で、sourceをながめてみると、2.0.39では、/server/util_filter.cで定義されている
ap_register_inputおよびap_register_outputの引数の数が3個、2.0.40の該当部分は、
引数4個になってます。
----------------------2.0.39----------------------
AP_DECLARE(ap_filter_rec_t *) ap_register_input_filter(const char *name,
ap_in_filter_func filter_func,
ap_filter_type ftype)
{
ap_filter_func f;
f.in_func = filter_func;
return register_filter(name, f, ftype, ®istered_input_filters);
}
AP_DECLARE(ap_filter_rec_t *) ap_register_output_filter(const char *name,
ap_out_filter_func filter_func,
ap_filter_type ftype)
{
ap_filter_func f;
f.out_func = filter_func;
return register_filter(name, f, ftype, ®istered_output_filters);
}
--------------------------------------------------------------------------
-------------------------2.0.40-------------------------------------------
AP_DECLARE(ap_filter_rec_t *) ap_register_input_filter(const char *name,
ap_in_filter_func filter_func,
ap_init_filter_func filter_init,
ap_filter_type ftype)
{
ap_filter_func f;
f.in_func = filter_func;
return register_filter(name, f, filter_init, ftype,
®istered_input_filters);
}
AP_DECLARE(ap_filter_rec_t *) ap_register_output_filter(const char *name,
ap_out_filter_func filter_func,
ap_init_filter_func filter_init,
ap_filter_type ftype)
{
ap_filter_func f;
f.out_func = filter_func;
return register_filter(name, f, filter_init, ftype,
®istered_output_filters);
}
---------------------------------------------------------------------
で、php-4.2.2のapache2filter/sapi_apache2.cで引数3個で呼んでるので
「引数がたらね〜ぞ〜」と怒られることがわかりました。
増えた引数が、何を指してるのかがわからんので、手の出しようがないです。
--------------php-4.2.2/sapi/aspi-apache2.c--------------------------
static void php_register_hook(apr_pool_t *p)
{
ap_hook_post_config(php_apache_server_startup, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_insert_filter(php_insert_filter, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_post_read_request(php_post_read_request, NULL, NULL, APR_HOOK_MIDDLE);
ap_register_output_filter("PHP", php_output_filter, AP_FTYPE_RESOURCE);
ap_register_input_filter("PHP", php_input_filter, AP_FTYPE_RESOURCE);
}
-----------------------------------------------------------------------
ほかにも引っかかってそうなところがありますが、とりあえず手の出せる
範囲での調査と言うことでここだけ見てみました。
先達のご指導をお願いいたします。 m(_ _)m
----
Yoshio Funaki yoshio@apl.pref.akita.jp