CentOS5.3にPHP5.2.16をインストールする

このブログは【カミタニブログ】へ引っ越しました。当該記事はこちらになります。
お手数をおかけしますが、よろしくお願いいたします。
















ご存知PHP
PHP (プログラミング言語) - Wikipedia
公式リポジトリからyumでインストールした後、
非公式リポジトリでupdateするところまでです。

対象

  • CentOS5.3
  • PHP5.1.6 → 5.2.16


今回はこちらの記事を参考にさせて頂きました。

あざます><

すでにインストールされてないか確認

phpがすでに入ってないか確認します。

yum list installed | grep php

ないので、インストール開始。

yum -y install php php-mbstring php-mcrypt

おしまい。


そのままPHPのバージョンも上げたいのですが
CentOSの公式リポジトリは対応があまり早くない、、との事で
非公式リポジトリを利用して、バージョンを
5.1.6 → 5.2.16
へアップデートします。
利用させて頂くはここ。 Utter Ramblings

RPM-GPG-KEY取得

まずはキー(RPM-GPG-KEY)を取得。

rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka


/etc/yum.repos.d/utterramblings.repoを新規作成して、

vi /etc/yum.repos.d/utterramblings.repo

以下のリポジトリ参照設定を記述。

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

PHPのアップデート

そしてupdate!!
の前に、念の為(使い慣れる意味も込めて)利用可能なパッケージを確認。

yum info php


バッチリありましたので、

yum update php

これで完了。

mcryptのアップデート

php --version

PHPのバージョンを確認すると、
バージョンはアップしたものの、

PHP Warning:  PHP Startup: mcrypt: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0
These options need to match
 in Unknown on line 0
PHP 5.2.16 (cli) (built: Dec 17 2010 14:09:03) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

のメッセージが。
Unable to initialize module ( モジュールの初期化をすることが出来ない)
との事。


mcryptのエラーって事で、きっとバージョンの不整合だろう、と一応確認

yum list installed mcrypt

で、初期インストール時のPHPと同じバージョンだったので
こやつもupdateします。


yum install php-mcrypt

Complete!
ってところで、再度PHPのバージョン確認。
無事確認出来ました。ひーはー。


無事、非公式のリポジトリでのupdateが完了したので、
リポジトリを無効にします。

vi /etc/yum.repos.d/utterramblings.repo

で、enabledを1から0に変更。


つぎにphp.iniを編集します。

vi /etc/php.ini

php.iniでよくやる設定まとめ - bojovs blog
こちらを参考にさせていただきつつ、最低限する編集を列挙します。
(デフォルトからの変更点のみ記述。)

  • expose_php = Off
  • log_errors_max_len = 4096
  • default_charset = "UTF-8"
  • mbstring.internal_encoding = UTF-8
  • short_open_tag = Off

こんな感じ。