« 杉山愛敗退-ウィンブルドン | 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の雑誌を買うと漏れなくついてきたりする(笑)


コメントを投稿

Insert Emoddy tag

RSS

Add to goo
Add to google

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




Tag cloud

お勧め!

Powered by
Movable Type 4.25