Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

起動時にmod_extract_forwarded.soでundefined symbol

またアホなことで時間を無駄にしてしまったのでメモ。
mod_extract_forwarded.soをロードしたときに、

Cannot load /usr/local/apache2/modules/mod_extract_forwarded.so into server: /usr/local/apache2/modules/mod_extract_forwarded.so: undefined symbol: proxy_hook_scheme_handler

なエラーが発生。別環境ではうまくいってるのに。。。シンボルを探したところ、mod_proxy系がヒット。

# cd /usr/local/apache2/modules/
# nm --print-file-name *.so | grep proxy_hook_scheme_handler
mod_extract_forwarded.so:         U proxy_hook_scheme_handler
mod_proxy.so:00006540 T proxy_hook_scheme_handler
mod_proxy_ajp.so:         U proxy_hook_scheme_handler
mod_proxy_connect.so:         U proxy_hook_scheme_handler
mod_proxy_ftp.so:         U proxy_hook_scheme_handle
rmod_proxy_http.so:         U proxy_hook_scheme_handler
# 

ということで、mod_proxy.soもLoadModuleしてやると動きました。

LoadModule proxy_module modules/mod_proxy.so
LoadModule extract_forwarded_module modules/mod_extract_forwarded.so
                  :

まあ、いつものごとく、INSTALLファイルに

If the Apache instance you are adding mod_extract_forwarded to will not
have mod_proxy and proxy_http loaded then you will get an error when
mod_extract_forwarded is loaded. 

と書かれていたのを見落としていたのが原因なんですが。。。orz