php4の動作環境を作る(CGIとして実行)
問題
php4のシステムを動かす必要があり、環境を作りたいのですが、簡単ですか?
答え
以下、CGIとして動作させる例。
php4を用意する
php4がない環境の場合はまずコンパイルから。
php4.4.9はこちらでダウンロード可能 → https://museum.php.net/php4/
CGI版として動かすので、apacheのモジュールは作らなくてよい。 --enable-fastcgi
だけ指定。
php4は、openssl 1.0以上に対応していないので、ssl関連のオプションを除外。
php4は、ldapなど有効にするとコンパイルが大変になるオプションがあるのでなるべくオプションを除外。
prefixつけないと /usr/local/bin などに入ってくるので、php4用の場所を指定する。(アンインストールの時はこのディレクトリを削除すればよい)
例) './configure' \ '--prefix=/usr/local/php4.4.9' \ '--enable-fastcgi' \ '--with-libdir=lib64' \ '--enable-zend-multibyte' \ '--enable-mbstring' \ '--enable-mbstr-enc-trans' \ '--enable-mbregex' \ '--with-zlib' \ '--enable-iconv' \ '--enable-bcmath' \ '--with-regex=php' \ '--with-mysql' \ '--with-curl' \ '--with-mcrypt' \ '--enable-memory-limit' \ "$@"
make して make install する。
Apacheの設定
ubuntuだったら a2enmod cgi、a2enmod actions する。
手動で設定するなら、以下のようなScriptAliasを設定して、
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Require all granted </Directory>
VirtualHostなどで以下のような設定をして、
<Directory /var/www> Action php4-cgi /cgi-bin/php4-cgi Options FollowSymLinks AllowOverride All Require all granted <FilesMatch \.php$> SetHandler php4-cgi </FilesMatch> #AddHandler php-cgi .php </Directory>
/usr/lib/cgi-bin/ に php を置く。
cp /usr/local/php4.4.9/bin/php /usr/lib/cgi-bin/php4-cgi
apache 再起動
service apache2 restart
動いた
コメント