PHP4系でしか動かないプロジェクトがあったので、PHP4.4.9をビルドしました。
SSLの動作検証も必要だったので、OpenSSLも追加しました。
しかし、makeした時に下のようなopenssl.cでエラーが大量に出てOpenSSLを有効にすることができません。
/usr/local/src/php-4.4.9/ext/openssl/openssl.c:1955: error: 'struct php_x509_request' has no member named 'priv_key_encrypt'
/usr/local/src/php-4.4.9/ext/openssl/openssl.c: In function 'zif_openssl_pkey_export':
/usr/local/src/php-4.4.9/ext/openssl/openssl.c:2006: error: 'struct php_x509_request' has no member named 'priv_key_encrypt'
make: *** [openssl.lo] Error 1
調べてみると、PHP4.4.9とOpenSSLが1.0.0以上だと、OpenSSLが入らないようです。
X Info Line - OpenSSL module for PHP 4.4.9 and OpenSSL version 1.0.0 and greater
親切なことにopenssl.cのパッチが作成されていたので、無事にビルドすることができました。
以下手順です。
- opensslのディレクトリで、phpizeを実行(私の環境では実行しなくてもよかったです)
phpizeは、PHPを解凍した時の/scripts/phpizeにあります。
#cd /ext/openssl
#../../scripts/phpize - もとのopenssl.cを移動します。
#mv openssl.c openssl.c.bk
- パッチをダウンロードします。
#wget http://www.xinfoline.com/wp-content/files/openssl.c
- openssl.cの入れ替えが終わったので、通常通りmake→installです。
#cd ../../ ソースディレクトリの上まで戻る
#make
#make install
無事インストールまで終わり、OpenSSLを有効にすることができました!