« dovecotでIMAPの日本語検索に対応させる | Kazuの挑戦日記TOP | 新サーバー投入計画 »

FC3でPHP4をPHP5にアップデート

FedoraCore3はデフォルトではPHP4です。FC4からはPHP5なのだけど、今まではPHP4でいいや、と思って使ってました。
けど、最近「オブジェクト指向」というものを避けて通れなくなってきていて、PHP4でもオブジェクト指向は取り入れられているが、PHP5ではよりオブジェクト指向らしくなっていて、書店で本を買ってもほとんどPHP5が前提になってきている。
というわけでPHP5にアップデートをしようと思い始めた。

でも気になる点としては、やはりどこでも言われているように、「既存のPHPアプリケーションが動作しなくなる場合がある」というあたりに関してかなりためらいがあった。けど、調べてみた限りでは、PHP5になっても既存のPHPアプリケーションでClassの定義など使ってなければ多分問題ないはず!という結論に達して、イチカバチカのアップデートに踏み切った。

ソースから入れるのはなんとなく嫌だったので、yumでインストールできないか調べたら、ありました。

http://www.sera.desuyo.net/php5/ FC2/FC3 で PHP5 を使おう

準備

まずは/etc/yum.confの修正から。
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=20
obsoletes=1
#gpgcheck=1  ←コメントアウトする

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

ここから以下を追加
[base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/

[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/

[sera.desuyo.net]
name=sera.desuyo.net - $basearch - Kazuhiko's RPMS
baseurl=http://yum.sera.desuyo.net/$releasever/$basearch/
exclude=httpd*,apr*,apr-util*,mod_ssl*

アップデート開始

[root@linux manage]# yum update
Repository updates-released already added, not adding again
Repository base already added, not adding again
Setting up Update Process
Setting up Repos
sera.desuyo.net           100% |=========================|  951 B    00:00     
dag                       100% |=========================| 1.1 kB    00:00     
crash-hat                 100% |=========================|  951 B    00:00     
base                      100% |=========================| 1.1 kB    00:00     
updates-released          100% |=========================|  951 B    00:00     
extras                    100% |=========================|  951 B    00:00     
Reading repository metadata in from local files
sera.desuy: ################################################## 61/61
dag       : ################################################## 4672/4672
crash-hat : ################################################## 85/85
base      : ################################################## 2622/2622
updates-re: ################################################## 910/910
extras    : ################################################## 1700/1700
Excluding Packages in global exclude list
Finished
Excluding Packages from sera.desuyo.net - i386 - Kazuhiko's RPMS
Finished
Excluding Packages from Fedora Extras - 3 - i386
Finished
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Package php-ldap.i386 0:5.0.4-2.fc3 set to be updated
---> Package php-pear.i386 0:5.0.4-2.fc3 set to be updated
---> Package php-mysql.i386 0:5.0.4-2.fc3 set to be updated
---> Package php-gd.i386 0:5.0.4-2.fc3 set to be updated
---> Package php.i386 0:5.0.4-2.fc3 set to be updated
---> Package php-mbstring.i386 0:5.0.4-2.fc3 set to be updated
--> Running transaction check

Dependencies Resolved
Transaction Listing:
  Update: php.i386 0:5.0.4-2.fc3 - sera.desuyo.net
  Update: php-gd.i386 0:5.0.4-2.fc3 - sera.desuyo.net
  Update: php-ldap.i386 0:5.0.4-2.fc3 - sera.desuyo.net
  Update: php-mbstring.i386 0:5.0.4-2.fc3 - sera.desuyo.net
  Update: php-mysql.i386 0:5.0.4-2.fc3 - sera.desuyo.net
  Update: php-pear.i386 0:5.0.4-2.fc3 - sera.desuyo.net
Total download size: 4.3 M
のようにしてアップデート完了 しかーし、PHPのバージョンを表示しようと思ったらエラーが。
[root@linux etc]# php -v
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php4/gd.so' - /usr/lib/php4/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php4/ldap.so' - /usr/lib/php4/ldap.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php4/mbstring.so' - /usr/lib/php4/mbstring.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php4/mysql.so' - /usr/lib/php4/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 5.0.4 (cgi) (built: May 16 2005 13:19:47)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v2.0.4-dev, Copyright (c) 1998-2004 Zend Technologies
/etc/php.iniを見てみると、extension_dir = /usr/lib/php4のままになっていた。
; Directory in which the loadable extensions (modules) reside.
extension_dir = /usr/lib/php5
また、PHPアクセラレータは今まで頑張ってもらっていたが、PHP5には未対応なので、php.iniからコメントアウト
; PHPアクセラレータ
#zend_extension="/usr/local/lib/php_accelerator_1.3.3r2.so"
#phpa.shm_ttl = 36h
#phpa.shm_size = 16
#phpa.shm_user=apache
#phpa.shm_group=apache
[root@linux etc]# php -v
PHP 5.0.4 (cgi) (built: May 16 2005 13:19:47)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v2.0.4-dev, Copyright (c) 1998-2004 Zend Technologies
これでアップデート完了。

Apacheの再起動

ここが一番の問題。 果たして無事にApacheが起動されるか。。 もしちゃんと起動してくれなくてエラーだらけだったら、最悪PHP4に戻さないと、しかし戻し方なんて分からん、と思っていたら・・・
[root@linux etc]# service httpd restart
うまく再起動されました。

確認

[root@linux manage]# cat phpinfo.php
<?php phpinfo(); ?>
とやって、ブラウザでhttp://example.jp/phpinfo.php を表示してみて、ブラウザから見たPHPのバージョンがPHP5になっていればOK。

あとは、MovableTypeやらSquirrelMailとかXoopsとかがきちんと動作するか確認。

コピペ用リンク

このエントリーのトラックバックURL:


このエントリーへのリンクURLを含むHTML:

同じカテゴリの記事

トラックバック

xoops テーマ from xoops テーマ
xoops テーマ - xoops テーマトラバ失礼しますm(_ _)m What's xoops!

xoops テーマ from xoops テーマ
xoops テーマ - xoops テーマトラバ失礼しますm(_ _)m What's xoops!

コメント (14)

たねちゃん's website

( ´_ゝ`)フーン…orz

Kazuさんちょとごめん、この辺ってホントに超ド素人なんで、今から
する質問が凄いバカだなぁって思っても、表では笑わず、陰でならば
大笑いしてもいいから、冗談抜きで教えて…orz

今、会社で特殊なブログを動かす為にサーバーごとレンタルしてる
んだけど、このサーバーでPHPが動く様にしたい!と思ったら、何か
買わないといけなくなるのかな?私が入れる訳では無く、向こうの
サーバーを貸してくれている会社の方に頼む事になるんだろぉけど
その相場とかも全然分からんちぃ…ちょっとその辺を教えて下さいorz


Kazu's website

たねちゃんさん、こにゃ(・ω・)ノ

PHPはオープンソースなので無償ですわん。
レンタルサーバ業者がPHPを入れるか入れないかは、業者の方針一つでして、最近ではXREAなんかも含め、無料サービスや有料サービスでもかなり「PHP使えます!なので使ってちょ!」とうたってます。
でも例えばGeocitiesのように有料でないとCGIやPHPは使えません、なんて言ってるところも多いですね。
PHPはCGIと一緒でサーバサイドスクリプトなので、サーバに負荷をかけるので嫌がるところは嫌がるわけでんす。
でもレンタルサーバなんかは、1ユーザに1サーバか少なめのユーザで1サーバなんて感じなので、大抵は使えるようにしてると思うにょ。業者側は、PHPを使えるようにする場合は、単純にインストール(ネットから簡単にダウンロード可能。もちろん無料)して、PHPの簡単な設定と、Apacheの設定、Apacheの再起動の4手順のみなので、管理してる技術者にそれほどのスキルが必要なわけでもなく、たねちゃんさんはお願いするだけでいいと思いまーすよ。


たねちゃん's website

こ、こぬばうわぁ…orz

ちょっと私かなぁりお疲れなので、コメントの返事遅いです( つД`)
Kazuさんの説明、結構分かりやすかったですぅ!自分でもググッて
調べてみたら、LAMPと言う組み合わせは普通に考える組み合わせ
とか書いてあって、PHPの優位性とかもかなり分かってきました(笑)
でも、これによって残念ながらウチの会社のサーバーにPHPを入れる
って発想はおかげで無くなりましたわ…所詮ASPごときに頼ってる
様なサーバーにPHP入れても期待出来ないってのが分かりましたし。

それでちと追加質問ですが、PHPって何種類かあるみたいなんだが
私みたいにPHPをただ単にモジュールとしてしか使かわない人向け
のPHPとかってあるの?モジュールとしてだけ動く軽量PHPとか?
もぉここからは私が個人でサーバー立ち上げる為に聞いておきたい
事なんで、会社のサーバーなんてどぉーでもいぃぃぃぃぃ!(笑)


Kazu's website

おごんばんわ

TypeKeyでサインインすると戻り先で404Notfoundエラーが出るようになってしまった。原因・・・CGIリネーム・・・?古いCGIを指している。。
さて、たねちゃんさんはPHPを使ってPear::Captchaなどを使いたい、と、そういうようなところでよろしいですか?
PHPは調べられたように、Perlより軽くてコーディングやデバッグもしやすい、ってところが優位性ですわん。
それで、なぜ会社のサーバにPHPを入れる発想がなくなるのか、ちと分からん\(?。?")
で、たねちゃんさんの言うモジュールとは、Pearのモジュールのことを指すとして、PearはPHPとセットのようなものなので、PHP本体がないと始まらないのです。
で、サーバ立ち上げるんですかぁ?Σ(=゜ω゜=;)


たねちゃん's website

ちょ、TypeKeyにサインイン出来ないやんけぇ!(笑)
ちなみに私のブログではちゃんとサインイン出来るぞよ!
出来るだけ早い内に直してちょんまげ(笑)

で、ぱっぱと質問に答えておきますわ。
なんで会社のサーバーにPHP入れる気が無くなったか?って
これは単純明快だよ!会社やめる気だからだよ(笑)
サーバーの立ち上げは…今はまだする気が無いけど
いつか(いつか(いつか))立ち上げる時の為の予習だよ(笑)


Kazu's website

あれ?できまふよね?>TypeKeyのサインイン
もしまだできないようだったら言ってくらはいね。
サーバ立ち上げまひょ!(笑)


たねちゃん's website

おろ?今サインインしたら、出来る様になってる…orz

いいなぁ。実は今、私のトコでサインイン出来るんだが
書き込むと2重投稿エラーで蹴られる…原因が分からん。

今はサーバー立ち上げるの無理(笑)必要に迫られてる
かつ、もぉ1台PC無いと立ち上げる気にはなれんかな。
でも、必要に迫られるってのは、近い内になるかも(笑)
その時の為の情報収集であり、勉強中って事だな!


Kazu's website

後ほどお邪魔させていただき試してみよっと。
二重投稿エラーってMTが出してるエラーですよね?
DB初期化の副作用!?いやいや。
PCはスペック低くても全然へーきですので。
ちなみにOSはFedoraCore5かCentOSにしまひょ。
そしたら悩み相談に乗れます(笑)


たねちゃん's website

ただ今、コメント返しの全サイト行脚中でございます(笑)

私のブログのTypeKeyは原因がなんとなく分かって対処済み!
もし、書き込めなかったらCookieをクリアしてみてくださいな。

FedoraCore5やCentOSってLinuxの事?それって有料?(笑)
ごめん、こんな事も知らないの( つД`)後でちと調べてみるけど(笑)


Kazu's website

お、直りました?一度試したらダメだったのでCookieクリアして
また試してみまーす。
(何が原因だったんでしょう?って、Cookieか(笑))

もう知っちゃったかもだけど、Redhat系のフリーのOSです。
あちこちのサイトで紹介されていてそのとーりにやれば
あっという間にサーバ構築できちゃいます。
ぜーんぶタダ!強いて言えば24時間稼動の電気代だけ?
お勧めサイトは、http://fedorasrv.com/ です。
早く構築しまひょーよ(笑)


たねちゃん's website

あ、TypeKeyはCookieとキャッシュをクリアしないとダメっぽorz

うん、書いた直後にFedoraとかググった(笑)で、探したんだけど
インストールの仕方が書いてあるサイトが見つからなかったorz
で、Kazuさんのお勧めサイトには…ちゃんと書いてあるな(笑)
よっしゃ!今日はずっと、お勧めサイト見続けて終わるだろぉ。


Kazu's website

なるほど!
あとでコメントしてみますw
うちのサーバもそろそろ新しいバージョンのFedoraCoreに
しようと思ってるんだけど、一番安全なのは別のサーバを
用意して無事立ち上がったら切り替えるってのが理想だけど
別のサーバを用意するなんてできないので、リスクを伴う
バージョンアップ作業を予定中(^^;
そういう意味ではバージョンアップの少ないCentOSのほうが
無難ですね。こちらは同じ人の立ち上げてるCentOSで自宅サーバ構築に手順がありまふよ。


たねちゃん's website

私は有名どころの新しいモノ好きなんで、問答無用で
FedoraCoreに決定ですわ!しかも多分テスト版…(笑)
でもあのFedoraCoreのインストールってさ、まさか
isoファイルをCDに焼かないといけないのか?私、今まで
CDってモノを焼いた事が無いんですけどぉ…orz


Kazu's website

あー、たねちゃんさんが新しいモノ好きということを
うっかり失念しておりました!(/∇≦\)
つーことでFC6のテスト版に決定ですな。
ダウンロードしながらインストールというワザもあるらしい
けど、手っ取り早いのはCDとかDVDからのインストール。
あとはLINUXの雑誌を買うと漏れなくついてきたりする(笑)


コメントを投稿



RSS

Add to goo
Add to google

はてなRSS
feedpath
Subscribe in Bloglines
Subscribe with livedoor Reader




Tag cloud

お勧め!