- ベストアンサー
PHPのバージョンアップで失敗!
クリック、ありがとうございます。 ■環境 os :FreeBSD 4.11-p14 www:Apache 1.3.33 php:PHP 4.4.2 ■目的 2007/12/31のサポート前にPHPのバージョンを PHP4.4.2 → PHP5.2.5にバージョンアップする。 ■方法A 1.パッケージでインストールしたphp4-4.4.2_1,1を削除 2.パッケージからphp5.2.5をインストール 3.Apacheをリブートするもphpが動作せず。 ■方法B 1.パッケージでインストールしたphp5.2.5を削除 2.PHP(本家)からダウンロードしたphp5.2.5をインストール 3.必ず./configure実行時に configure: error: build test failed. Please check the config.log for details. のメッセージでとまる。エラーメッセージ(config.log)が約700行あるもののこのエラーメッセージの読み方がわからないため、ぐぐれず。 どちらの方法でも"libphp5.so"が作成されませんでした。 これが原因でPHPとApacheが連携していないではと考え、PHP5と自動に連携してくれるApache2.2.6を本家からダウンロードしてインストール 無事?インストールが成功し、稼動しているバージョンを調べると1.3.33 → 2.2.6 にあがっていた。 ■方法C 1.パッケージからphp5.2.5をインストール 2.Apacheをリブート やはり、一向に連携してくれないので調べていると以下のバグを発見。 「PHP5インストールでのlibphp5.soバグ対応」 http://www.oklab.org/language_c/php5_0_2_install_bug.htm ところが、この後様々なライブラリを追加したりしながらBの方法を試みるがどれも同じ結果に終わってしまい、libphp5.soが作成されない状況です。 ☆★ご質問★☆ 解決方法はもちろんですが、切り分け方法や思いついたことをお気軽にご意見ください。 また、必要な情報がありましたらご依頼ください、よろしくお願いします。 また、他にも ■方法D 1.パッケージでインストールしたphp5.2.5を削除 2.PHP(本家)からダウンロードしたphp4.4.7をインストール 3.インストールは成功し、--with-apxも指定しているが同様にlibphp4.soが作成されない。 というのを試しました。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
FreeBSD 4.x 本体のサポート終了後、Ports の FreeBSD 4.x に対するサポートも終了しています。 http://www.freebsd.org/portmgr/policies_releng_4.html ということは、その php5-5.5.2.5 パッケージはどうやって入手しましたか? それは 4.x 用のパッケージではない気がします。 それはさておき... packages のみをお使いのようですから、ports と packages の相違点について、ちょっと説明を加えておきます。 ソースからビルドするのが ports で、ビルド済みのものが packages と呼ぶことはご存知だと思います。 ports ではビルド時に機能のオプション選択ができるようになっています。ですので、オプションの組み合わせの数だけ 違った packages がありえることになります。 実際には全種類のパッケージを配布している余裕はないので、ports 毎にデフォルトのオプションセットを定めてあり、それに対応した package のみ配布されています。 PHP の ports に関して言うと、2006年5月6日以来、SAPI 関連のオプション項目は CLI, CGI, FASTCGI, APACHE があり、 デフォルトのオプションセットでは APACHE は Off です。 つまり、PHP の package をインストールしても libphp*.so はインストールされません。 PHP といえば Apache モジュールとして利用するのが当たりという認識の裏をかかれることでしょう。 そこで、この変更時に PHP ユーザーへ注意がなされました。 /usr/ports/UPDATING の 20060506 の項目を見てください。 FreeBSD 6.x で、Ports collection も最新の状態へ更新済みという前提で話をするならば、php4 をアンインストールし後、 ports から lang/php5 を APACHE を指定してインストールし直しするのがアップグレード手順ということになると思います。 (日本の方なら MULTIBYTE の指定も要るでしょう)
その他の回答 (1)
- hetarepyon
- ベストアンサー率52% (94/180)
http://www.freebsd.org/security/security.html この URL からも記載が落ちているように、FreeBSD 4 系も既にサポートが終了しています。ですので 1. FreeBSD を 6 系にアップデートする(まもなく 6.3-RELEASE が出ます) 2. ports/packages で PHP5 を入れる のが良いと思います。
お礼
ありがとうございます。 その方法でやってみようと思います。
お礼
丁寧なご説明、ありがとうございます。 おっしゃるとおり、勝手に libphp*.so がインストールされると思っていました。 まずは6点台にあげて、portsでインストールしたいと思います。 ありがとうございました。