デフォルトのCentOSの場合、yumでPHPをインストールしようとすると古いバージョンが
入ってしまいますので、どうせなら最新のバージョンの5.3をインストールする方法です。
remiとepelのリポジトリに最新のPHPが配布されているので、このリポジトリを追加します。
ただし、当然ながら、remiレポジトリは、CentOSの公式サポートではなく、有志によるものなので、
そこは自己責任です。
※とはいえ、CentOS自体がコミュニティベースだから、気にする必要がないと言えば、ないですね。
要は信用するかどうか、という話です。
どうしても、我慢できなければ、ソースでインストールしましょう。ソースインストールを管理できる
アプリも存在しますが、yumほど簡単にはアップデートとかはできなくなっちゃいますが。。。
では、早速行きましょう。
■EPELとRemiレポジトリをインストール
# rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
このままでは remiは無効になっているので 「--enablerepo=remi」をyumに引数に付けてPHPをインストールします。
※/etc/yum.repos.d/remi.repoの中で、「enabled=0」になっているから、無効になっている訳です。
※epel-release-5-4.noarch.rpmは、2011年4月現在の最新ですので、変わる場合があります。
■インストールされるPHPのバージョンを事前確認
# yum --enablerepo=remi info php
-----------------------------------------------------------------------------
Name : php
Arch : i386
Version : 5.3.6
Release : 1.el5.remi
Size : 1.3 M
Repo : remi
Summary : PHP scripting language for creating dynamic web sites
URL : http://www.php.net/
License : PHP
Description: PHP is an HTML-embedded scripting language. PHP attempts to make it
: easy for developers to write dynamically generated web pages. PHP also
: offers built-in database integration for several commercial and
: non-commercial database management systems, so writing a
: database-enabled webpage with PHP is fairly simple. The most common
: use of PHP coding is probably as a replacement for CGI scripts.
:
: The php package contains the module which adds support for the PHP
: language to Apache HTTP Server.
-----------------------------------------------------------------------------
5.3.6のバージョンがインストールされることが分かります。
2011年3月にリリースされた最新バージョンですね。
■インストール開始
# yum install -y --enablerepo=remi php
「php -v」で5.3が入ってることが確認できると思います。
※MySQLとの依存関係で、エラーがでたら、同じ方法で、MySQLを最初にアップデートします。
■確認1
# php -v
PHP 5.3.3 (cli) (built: Jul 22 2010 16:41:20)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
■確認2
遊びで、試しにコマンドラインで確認してみます。
# php -r 'phpinfo();'|grep "PHP Version"
PHP Version => 5.3.6
以下のWarningが出たら、php.iniでタイムゾーンを適当に設定してやりましょう。
/etc/php.ini
--------------------------------
[Date]
; ...
; ...
date.timezone = Asia/Tokyo
--------------------------------
※Apacheの再起動は必要ありません。
■確認3
ついでに、webでも確認してみましょう。
Apacheのドキュメントルートで、以下のテストファイルを作成します
phpinfo.php (ファイル名は任意です)
-------------------------------
<?
phpinfo();
?>
-------------------------------
ブラウザでアクセスしてみます。
http://(IPアドレス or Apacheに設定しているドメイン名)/phpinfo.php
URLは、自分で設置したDocumentRootの設定を見てください。
これで、ページの頭にデカデカと、「PHP Version 5.3.6」と表示されていたらOKです。
※もし、何も表示されず、真っ白だったら、php.iniの設定を見直してください。
-------------------------------
short_open_tag = Off
-------------------------------
これをOnにしてあげます。
-------------------------------
short_open_tag = On
-------------------------------
httpdの再起動もお忘れなく。
※余談
このように、Offとなっていたら、PHPのタグ「<?」が無効になります。
「<?」をshort_open_tagと呼ぶらしいです。
php.iniを変えたくなければ、開始文字列として「<?php」に変更してあげればOKです。