Top > Install Log > CentOS6 > php
AND OR

PHPの導入

PHPのインストール

なるべき最新版のPHPをインストールするため、 Remiリポジトリを利用する。

(無駄なものもいくつかあるが)必要なパッケージをインストールする。

# yum install --enablerepo=remi,epel php php-cli php-common php-devel php-pear
  php-bcmath php-dba php-gd php-imap php-intl php-ldap php-mbstring php-mcrypt
  php-mysql php-odbc php-pdo php-soap php-xml php-xmlrpc

この過程で、依存関係のためいくつかのパッケージがインストールされる。MySQLの共有ライブラリ(compat-mysql51)もインストールされる。

また、ライブラリ(MySQL-libs)もRemiに収録されたバージョンに更新されることに注意する。

PHPの設定

PHPの設定ファイルは、/etc/php.iniにある。 ちなみに、モジュール関係の設定は、/etc/php.d以下ににある。

# vi /etc/php.ini

設定内容としては、次の内容を追加すると良いかも。「magic_quote_gpc」はPHP 5.4からなくなったので、余計な設定かも。

;magic_quotes_gpc = On
magic_quotes_runtime = Off
file_uploads = On
session.auto_start = 0
session.bug_compat_warn = Off
;
memory_limit = 128M
upload_max_filesize = 24M
post_max_size = 24M
;
output_buffering = Off
output_handler = none
expose_php = Off
;
session.use_only_cookies = 1
session.hash_function = 1
;
default_charset = "UTF-8"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none
;
date.timezone = Asia/Tokyo

設定できたら、httpdを再起動。

# service httpd restart

APC(Alternative PHP Cache)の設定

PHPの高速化のため、これまではeAcceleratorを使用していたが、 今回からはAPCを利用する。 しかし、PHP5.5からはZend Opcacheが推奨になるだよね…

インストールは、PHPと同様、Remiリポジトリを利用する。

# yum --enablerepo=remi,epel install php-pecl-apc

インストールできたら、httpdを再起動する。

# service httpd restart

設定ファイルは「/etc/php.d/apc.ini」にあるので、 いろいろなサイトを参考にして、設定するといいかも、

管理用スクリプトは次の場所にあるので、必要に応じて、適切な場所に置いておく。

  • /usr/share/doc/php-pecl-apc-X.X.XX/apc.php (Xはバージョン番号)

追記1:PHP 5.5のインストール

上記のやり方で、PHP 5.4をインストールしたが、 パフォーマンスを向上したくて、PHP 5.5をインストールした。

PHP 5.5ではAPCが利用できないため、まずAPCをアンインストールした。

# yum remove php-pecl-apc

次に、PHPを5.4から5.5へアップグレードする。 Remiリポジトリを利用するが、通常のリポジトリ(remi)とPHP5.5用のリポジトリ(remi-php55)も使用する。

# yum --enablerepo=remi-php55,remi update php

今回は20個くらいのパッケージの更新やインストールがあった。 注意するのは、プラグインの「php-mysql」が「php-mysqlnd」になっていることで、MySQLのネイティブドライバになっている。そのために、MySQLの設定を少し変える羽目になった。

インストールすると、設定ファイルが「/etc/php.ini.rpmnew」として作られるので、 このファイルをもとに自分のところの設定を追加した「/etc/php.ini」を作成する。

追記2:Zend OPcacheのインストール

APCに変わって、Zend Opcacheを利用して、高速化をはかることにする。 PHP 5.5では Zend OPcacheが標準で搭載されている。

Remiリポジトリで、あっさりインストールできる。

# yum --enablerepo=remi-php55,remi install php-pecl-zendopcache

インストールできたら、設定をする。 [推奨設定:http://php.net/manual/ja/opcache.installation.php]]があるそうなので、それを参考にすると、変更するのは2か所のみ。

;opcache.enable_cli=0
opcache.enable_cli=1

;opcache.revalidate_freq=2
opcache.revalidate_freq=60

ここまでできたら、「php -v」で確認して、 最後にhttpdを再起動して作業終了。

# php -v
# service httpd restart

追記3:APCuのインストール

Zend OPcache は、ユーザキャッシュ機能を持っていない。 そこをAPCuで補うことにする。 APCを利用している場合は、インストールしておけば役に立つかも(今回はしていない)。

# yum --enablerepo=remi-php55,remi install php-pecl-apcu

参考


Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: Tue, 01 Apr 2014 01:26:40 HADT (3711d)