cygwinでphp4のインストール

php5は知りません。あしからず。
ソースを落としてくる(普通にPHPユーザ会のリンクから行きました)。
前にも書いたが、configureオプションが山ほどある。
一応調べてから実行すること。


$ ./configure --with-apxs=/usr/local/bin/apxs --without-mysql --enable-mbstring --enable-mbstr-enc-trans --enable-mbreg
でもmake install が失敗してるような・・・
MakefileのSHLIB_SUFFIX_NAMEをdllにして.soの部分を全部$(SHLIB_SUFFIX_NAME)に書き換えてみた。
クライアントのphp.exeは出来てるがアパッチのモジュールとなるlibphp4.dllが出来てない。
このページgccの方法も試してみたができてないっぽい(もしかして出来てたのか?)。
なんか前もそうだった気がするのでオプションを減らして再度configureから。

$ ./configure --with-apxs=/usr/local/bin/apxs --without-mysql
で、もうMakefileの.soを.dll に書き換えて、make
一応終わって、dllがないのでgccの方法を試してみる。

$ gcc -shared -o libphp4.dll -Wl,--out-implib=libphp4.dll.a -Wl,--export-all-symbols -Wl,--whole-archive libphp4.a /usr/local/libexec/libhttpd.dll -Wl,--no-whole-archive -lcrypt
Creating library file: libphp4.dll.a
Info: resolving _ap_user_id by linking to __imp__ap_user_id (auto-import)
Info: resolving _ap_group_id by linking to __imp__ap_group_id (auto-import)
Info: resolving _ap_user_name by linking to __imp__ap_user_name (auto-import)
Info: resolving _ap_max_requests_per_child by linking to __imp__ap_max_requests_per_child (auto-import)
Info: resolving _ap_server_root by linking to __imp__ap_server_root (auto-import)
Info: resolving _top_module by linking to __imp__top_module (auto-import)
(apache普通に入れておけばよかったかも。ちょとパスが違う)
とかいっぱい出てきたので、まただめかと思いきや、

$ ls
libphp4.a libphp4.dll* libphp4.dll.a libphp4.la
なんか出来てる。
ファイルサイズもあるしmake install して /usr/local/conf/mime.types に

application/x-httpd-php php
application/x-httpd-php-source phps
を追加して、phpinfoを書いたら動きました。
めでたしめでたし。