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 ... memory_limit = 128M ... post_max_size = 20M ... magic_quotes_gpc = On ... extension_dir = "/usr/lib/php/modules" ←ここはデフォルトのまま ... file_uploads = On upload_max_filesize = 20M ... sendmail_path = /usr/sbin/sendmail -t -i ←ここはデフォルトのまま ... session.save_path = "/var/lib/php/session" ←ここはデフォルトのまま session.use_only_cookies = On session.bug_compat_warn = 0 session.entropy_length = 32 session.entropy_file = /dev/urandom ; session.use_only_cookies = 1 session.hash_function = 1 ... default_charset = UTF-8 ; 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.http_input = auto mbstring.http_output = UTF-8 mbstring.internal_encoding = UTF-8 mbstring.detect_order = auto mbstring.substitute_character = none ; date.timezone = Asia/Tokyo設定できたら、httpdを再起動。 # service httpd restart eAcceleratorのインストールDAGからインストールするだけ。楽ちんだー(笑)# yum --enablerepo=rpmforge install php-eaccelerator
eAcceleratorの設定eAcceleratorの設定は、/etc/php.d/eaccelerator.iniにある。# vi /etc/php.d/eaccelerator.ini
APC(Alternative PHP Cache)の設定PHPの高速化のため、これまではeAcceleratorを使用していたが、 今回からはAPCを利用する。 しかし、PHP5.5からはZend Opcacheが推奨になるだよね… あとは、Vineのときの設定を参考に、次のような内容に編集する。; Enable eAccelerator extension module zend_extension = /usr/lib/php/modules/eaccelerator.so ; Options for the eAccelerator module eaccelerator.cache_dir = /var/cache/php-eaccelerator eaccelerator.shm_size = "16" ←ここを変更 eaccelerator.enable = 1 eaccelerator.optimizer = 1 eaccelerator.check_mtime = 1 eaccelerator.filter = "" eaccelerator.shm_max = 0 eaccelerator.shm_ttl = "86400" ←ここを変更 eaccelerator.shm_prune_period = "86400" ←ここを変更 eaccelerator.shm_only = 0 eaccelerator.compress = 1 eaccelerator.compress_level = 9 eaccelerator.keys = "shm_and_disk" eaccelerator.sessions = "shm_and_disk" eaccelerator.content = "shm_and_disk" eaccelerator.debug = 0インストールは、PHPと同様、Remiリポジトリを利用する。 # yum --enablerepo=remi,epel install php-pecl-apc
設定できたら、httpdを再起動。
インストールできたら、httpdを再起動する。
# service httpd restartあれ、コントロール用のスクリプト(control.php)はどこだろう。 # find / -name "control.php" -print /usr/share/doc/php-eaccelerator-5.1.6_0.9.5.2/control.php設定ファイルは「/etc/php.d/apc.ini」にあるので、 いろいろなサイトを参考にして、設定するといいかも、 管理用スクリプトは次の場所にあるので、必要に応じて、適切な場所に置いておく。
追記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
参考
|