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とかがきちんと動作するか確認。








コメント (14)
( ´_ゝ`)フーン…orz
Kazuさんちょとごめん、この辺ってホントに超ド素人なんで、今から
する質問が凄いバカだなぁって思っても、表では笑わず、陰でならば
大笑いしてもいいから、冗談抜きで教えて…orz
今、会社で特殊なブログを動かす為にサーバーごとレンタルしてる
んだけど、このサーバーでPHPが動く様にしたい!と思ったら、何か
買わないといけなくなるのかな?私が入れる訳では無く、向こうの
サーバーを貸してくれている会社の方に頼む事になるんだろぉけど
その相場とかも全然分からんちぃ…ちょっとその辺を教えて下さいorz
投稿者: たねちゃん | 2006年7月 5日 19:19
たねちゃんさん、こにゃ(・ω・)ノ
PHPはオープンソースなので無償ですわん。
レンタルサーバ業者がPHPを入れるか入れないかは、業者の方針一つでして、最近ではXREAなんかも含め、無料サービスや有料サービスでもかなり「PHP使えます!なので使ってちょ!」とうたってます。
でも例えばGeocitiesのように有料でないとCGIやPHPは使えません、なんて言ってるところも多いですね。
PHPはCGIと一緒でサーバサイドスクリプトなので、サーバに負荷をかけるので嫌がるところは嫌がるわけでんす。
でもレンタルサーバなんかは、1ユーザに1サーバか少なめのユーザで1サーバなんて感じなので、大抵は使えるようにしてると思うにょ。業者側は、PHPを使えるようにする場合は、単純にインストール(ネットから簡単にダウンロード可能。もちろん無料)して、PHPの簡単な設定と、Apacheの設定、Apacheの再起動の4手順のみなので、管理してる技術者にそれほどのスキルが必要なわけでもなく、たねちゃんさんはお願いするだけでいいと思いまーすよ。
投稿者: Kazu | 2006年7月 5日 22:43
こ、こぬばうわぁ…orz
ちょっと私かなぁりお疲れなので、コメントの返事遅いです( つД`)
Kazuさんの説明、結構分かりやすかったですぅ!自分でもググッて
調べてみたら、LAMPと言う組み合わせは普通に考える組み合わせ
とか書いてあって、PHPの優位性とかもかなり分かってきました(笑)
でも、これによって残念ながらウチの会社のサーバーにPHPを入れる
って発想はおかげで無くなりましたわ…所詮ASPごときに頼ってる
様なサーバーにPHP入れても期待出来ないってのが分かりましたし。
それでちと追加質問ですが、PHPって何種類かあるみたいなんだが
私みたいにPHPをただ単にモジュールとしてしか使かわない人向け
のPHPとかってあるの?モジュールとしてだけ動く軽量PHPとか?
もぉここからは私が個人でサーバー立ち上げる為に聞いておきたい
事なんで、会社のサーバーなんてどぉーでもいぃぃぃぃぃ!(笑)
投稿者: たねちゃん | 2006年7月 9日 16:01
おごんばんわ
TypeKeyでサインインすると戻り先で404Notfoundエラーが出るようになってしまった。原因・・・CGIリネーム・・・?古いCGIを指している。。
さて、たねちゃんさんはPHPを使ってPear::Captchaなどを使いたい、と、そういうようなところでよろしいですか?
PHPは調べられたように、Perlより軽くてコーディングやデバッグもしやすい、ってところが優位性ですわん。
それで、なぜ会社のサーバにPHPを入れる発想がなくなるのか、ちと分からん\(?。?")
で、たねちゃんさんの言うモジュールとは、Pearのモジュールのことを指すとして、PearはPHPとセットのようなものなので、PHP本体がないと始まらないのです。
で、サーバ立ち上げるんですかぁ?Σ(=゜ω゜=;)
投稿者: Kazu | 2006年7月10日 23:00
ちょ、TypeKeyにサインイン出来ないやんけぇ!(笑)
ちなみに私のブログではちゃんとサインイン出来るぞよ!
出来るだけ早い内に直してちょんまげ(笑)
で、ぱっぱと質問に答えておきますわ。
なんで会社のサーバーにPHP入れる気が無くなったか?って
これは単純明快だよ!会社やめる気だからだよ(笑)
サーバーの立ち上げは…今はまだする気が無いけど
いつか(いつか(いつか))立ち上げる時の為の予習だよ(笑)
投稿者: たねちゃん | 2006年7月24日 15:54
あれ?できまふよね?>TypeKeyのサインイン
もしまだできないようだったら言ってくらはいね。
サーバ立ち上げまひょ!(笑)
投稿者: Kazu
|
2006年7月26日 11:17
おろ?今サインインしたら、出来る様になってる…orz
いいなぁ。実は今、私のトコでサインイン出来るんだが
書き込むと2重投稿エラーで蹴られる…原因が分からん。
今はサーバー立ち上げるの無理(笑)必要に迫られてる
かつ、もぉ1台PC無いと立ち上げる気にはなれんかな。
でも、必要に迫られるってのは、近い内になるかも(笑)
その時の為の情報収集であり、勉強中って事だな!
投稿者: たねちゃん
|
2006年7月28日 18:02
後ほどお邪魔させていただき試してみよっと。
二重投稿エラーってMTが出してるエラーですよね?
DB初期化の副作用!?いやいや。
PCはスペック低くても全然へーきですので。
ちなみにOSはFedoraCore5かCentOSにしまひょ。
そしたら悩み相談に乗れます(笑)
投稿者: Kazu
|
2006年7月29日 21:59
ただ今、コメント返しの全サイト行脚中でございます(笑)
私のブログのTypeKeyは原因がなんとなく分かって対処済み!
もし、書き込めなかったらCookieをクリアしてみてくださいな。
FedoraCore5やCentOSってLinuxの事?それって有料?(笑)
ごめん、こんな事も知らないの( つД`)後でちと調べてみるけど(笑)
投稿者: たねちゃん
|
2006年8月 2日 23:39
お、直りました?一度試したらダメだったのでCookieクリアして
また試してみまーす。
(何が原因だったんでしょう?って、Cookieか(笑))
もう知っちゃったかもだけど、Redhat系のフリーのOSです。
あちこちのサイトで紹介されていてそのとーりにやれば
あっという間にサーバ構築できちゃいます。
ぜーんぶタダ!強いて言えば24時間稼動の電気代だけ?
お勧めサイトは、http://fedorasrv.com/ です。
早く構築しまひょーよ(笑)
投稿者: Kazu
|
2006年8月 3日 23:31
あ、TypeKeyはCookieとキャッシュをクリアしないとダメっぽorz
うん、書いた直後にFedoraとかググった(笑)で、探したんだけど
インストールの仕方が書いてあるサイトが見つからなかったorz
で、Kazuさんのお勧めサイトには…ちゃんと書いてあるな(笑)
よっしゃ!今日はずっと、お勧めサイト見続けて終わるだろぉ。
投稿者: たねちゃん
|
2006年8月 5日 20:02
なるほど!
あとでコメントしてみますw
うちのサーバもそろそろ新しいバージョンのFedoraCoreに
しようと思ってるんだけど、一番安全なのは別のサーバを
用意して無事立ち上がったら切り替えるってのが理想だけど
別のサーバを用意するなんてできないので、リスクを伴う
バージョンアップ作業を予定中(^^;
そういう意味ではバージョンアップの少ないCentOSのほうが
無難ですね。こちらは同じ人の立ち上げてるCentOSで自宅サーバ構築に手順がありまふよ。
投稿者: Kazu
|
2006年8月 7日 12:40
私は有名どころの新しいモノ好きなんで、問答無用で
FedoraCoreに決定ですわ!しかも多分テスト版…(笑)
でもあのFedoraCoreのインストールってさ、まさか
isoファイルをCDに焼かないといけないのか?私、今まで
CDってモノを焼いた事が無いんですけどぉ…orz
投稿者: たねちゃん
|
2006年8月 9日 23:58
あー、たねちゃんさんが新しいモノ好きということを
うっかり失念しておりました!(/∇≦\)
つーことでFC6のテスト版に決定ですな。
ダウンロードしながらインストールというワザもあるらしい
けど、手っ取り早いのはCDとかDVDからのインストール。
あとはLINUXの雑誌を買うと漏れなくついてきたりする(笑)
投稿者: Kazu
|
2006年8月11日 00:11