2012年3月7日水曜日

PHP4環境構築とPEAR強制アップグレードメモ

PHP4…CakePHPがバージョン2になってついにサポート対象から外れたこんな時代に需要なんて殆ど無いだろうけど、まあ仮想マシンなら物理的な場所とらないってことで一応環境作って残しときましょう…ってことで実際需要が発生したので、まあブログなら物理的な場(以下同文)

願わくば、我のみならず俗世においても当エントリを必要とする状況があまり発生せんことを。停滞は後退だ。2010年にもなって新規案件でVBScriptてIE6てJava1.4て…(はいわざわざ過去をほじくり返してイラついている大馬鹿者です)

試した環境

  • CentOS 5.6(64bit)
  • Apache 2.2
  • PHP 4.3.11
ちなみに、PHP4.2以前はApache2系と相性悪いらしく、実際僕もインストールできませんでした。

事前準備

Apacheインストール
apxsってのも必要なのでhttpd-develも一緒に。
# yum -y install httpd httpd-devel
Flexとlibxml2インストール
# yum -y install flex libxml2-devel

PHPインストール

yumでのインストールはできないので、ソースからインストールせざるをえない。
ダウンロード、コンパイル、インストール
旧バージョンも含めたPHPのソース置き場は以下。
configureオプションはとりあえず必要最低限の設定。
$ wget http://museum.php.net/php4/php-4.3.11.tar.gz
$ tar zxvf php-4.3.11.tar.gz
$ cd php-4.3.11
$ ./configure --enable-mbstring --with-apxs2=/usr/sbin/apxs
$ make
# make install
php.ini作成
解凍したソース一式の中にある「php.ini-dist」という雛形があるので、それをコピー。
# cp php.ini-dist /etc/php.ini
Apache設定
httpd.confに以下の設定を追加。その後再起動。
AddType application/x-httpd-php .php
最低限の設定は完了。あとはおなじみのphpinfo()で動作確認。
動かなかったら、ファイアウォールやSELinuxの設定を確認してみろ、と自分に向けて書いておく。

HTTP_Requestインストールから学ぶ、PEARパッケージ強制アップグレード

作成したPHP4環境では、HTTP_Requestも必要だったのだけど、これも一筋縄ではいかなかったのでメモする次第。
普通にインストールできるかと思いきや…
# pear install HTTP_Request -a
HTTP error, got response: HTTP/1.1 410 Gone
Didn't receive 200 OK from remote server. (HTTP/1.1 410 Gone)
何か「そんな古いパッケージはもう置いてねえよ」とでも言ってるようなエラーメッセージだ。
以下によると、PEARのバージョンが古いからだろうとのこと。
確かにパッケージのドキュメントに「PEAR Installer 1.4.3」って書いてあるわ。PHP 4.3.11を当エントリの手順でインストールした場合、PEARのバージョンは1.3.5だった。

ということで、上記記事を参考に、PEARを強制アップグレード…の前にまず「Archive_Tar」を強制アップグレード。これやっとかないと、PEAR強制アップグレード自体で同様の「410 Gone」エラーが発生する。
# pear upgrade --force http://pear.php.net/get/Archive_Tar-1.3.1.tar
# pear upgrade --force http://pear.php.net/get/PEAR-1.4.3.tar
# pear install HTTP_Request -a

終わり。自分で書いときながらだけど、このエントリ読み返したくねぇ(読み返すような状況に遭遇したくねぇってことです)。

0 件のコメント: