スンゴイ暑かったり、急に寒くなったりと体には大変な気候ですが、いかがお過ごしですか?

どうも、秀太郎です。

さて、本日はPHPのお話してみましょう!
と言っても、PHPで何かをすると言うよりPHP自体のお話です。

現在の主流バージョンはPHP5です!どんな案件でも定着してきました!
PHP4系はさすがにお目見えしなくなってきましたね!

CentOSなんかを使っていてPHPをyumで入れると大体バージョンは5.1.6になりますね!

今現在だとすでにPHP5.3系が主流になってきているので(5.2系はなかなかみつからない!)
今回はバージョンアップしたいなーーと思ったときにyumでアップグレードしてみようと言うお話です!!


まずは何が入っているかを確認

コマンド:yum list | grep php

※すでにyumでアップグレードとかしてるとphpの5.1.6とphp53が混在しているひともいるのでは?と思います

まずはインストールされているPHPを消す前にapacheをとめます。

コマンド:service httpd stop

では、PHP5.1系が入っている人用に消します。
コマンド:yum remove php php-*
※phpと名の付くものはすべて消します。


その後にPHP5.3系を入れます。

コマンド:yum install php53 php53-devel php53-common php53-mbstring php53-mysql
(私はこれだけ入れてみました。何が入るか確認もこめて「-y」は入れてません。)

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: rsync.atworks.co.jp
* extras: rsync.atworks.co.jp
* updates: rsync.atworks.co.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php53.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: php53-cli = 5.3.3-1.el5_6.1 for package: php53
---> Package php53-common.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-devel.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-mbstring.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-mysql.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: php53-pdo for package: php53-mysql
--> Running transaction check
---> Package php53-cli.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-pdo.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================
Package Arch Version Repository Size
====================================================================================
Installing:
php53 x86_64 5.3.3-1.el5_6.1 updates 1.3 M
php53-common x86_64 5.3.3-1.el5_6.1 updates 605 k
php53-devel x86_64 5.3.3-1.el5_6.1 updates 590 k
php53-mbstring x86_64 5.3.3-1.el5_6.1 updates 1.2 M
php53-mysql x86_64 5.3.3-1.el5_6.1 updates 92 k
Installing for dependencies:
php53-cli x86_64 5.3.3-1.el5_6.1 updates 2.4 M
php53-pdo x86_64 5.3.3-1.el5_6.1 updates 67 k

Transaction Summary
====================================================================================
Install 7 Package(s)
Upgrade 0 Package(s)

Total download size: 6.2 M
Is this ok [y/N]: y
Downloading Packages:
(1/7): php53-pdo-5.3.3-1.el5_6.1.x86_64.rpm | 67 kB 00:00
(2/7): php53-mysql-5.3.3-1.el5_6.1.x86_64.rpm | 92 kB 00:00
(3/7): php53-devel-5.3.3-1.el5_6.1.x86_64.rpm | 590 kB 00:00
(4/7): php53-common-5.3.3-1.el5_6.1.x86_64.rpm | 605 kB 00:00
(5/7): php53-mbstring-5.3.3-1.el5_6.1.x86_64.rpm | 1.2 MB 00:00
(6/7): php53-5.3.3-1.el5_6.1.x86_64.rpm | 1.3 MB 00:00
(7/7): php53-cli-5.3.3-1.el5_6.1.x86_64.rpm | 2.4 MB 00:00
--------------------------------------------------------------------------------------------------------------------------------------------
Total 3.0 MB/s | 6.2 MB 00:02
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : php53-common 1/7
Installing : php53-pdo 2/7
Installing : php53-cli 3/7
Installing : php53 4/7
Installing : php53-mysql 5/7
Installing : php53-mbstring 6/7
Installing : php53-devel 7/7

Installed:
php53.x86_64 0:5.3.3-1.el5_6.1 php53-common.x86_64 0:5.3.3-1.el5_6.1 php53-devel.x86_64 0:5.3.3-1.el5_6.1 php53-mbstring.x86_64 0:5.3.3-1.el5_6.1
php53-mysql.x86_64 0:5.3.3-1.el5_6.1

Dependency Installed:
php53-cli.x86_64 0:5.3.3-1.el5_6.1 php53-pdo.x86_64 0:5.3.3-1.el5_6.1

Complete!

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

Completeが出ればOK

そして、apacheを起動させます。
コマンド:service httpd start

!!!これでOK!!!

と、思いきやです!!
PHP5.3系は次バージョン(PHP6系?)の為にそちらの機能も盛り込まれています!
エラーが出まくる人もいるのではないでしょうか?

今回はまず簡単な追加から!

php.iniに
;date.timezone

date.timezone = Asia/Tokyo

を追加してあげてくださいね
(date系やtime系の関数を使用しているところは軒並みエラーでますよ!)

※そのほかにDeprecated系のエラーもでまくると思うので、いろいろ調べてみてくださいね!

ではでは、今回はこの辺で。。。。。。。。。。。 ドロン