PHPの高速化
PHPの高速化は、いろんなやり方があります。
ここでは、レンタルサーバーでも可能な簡単なやり方を2点ほど紹介したいと思います。
- Zend Optimizerを使った高速化
- XCacheを使った高速化
レンタルサーバーでphp.iniファイルを扱えるかどうか確認してください。
通常、SSHに対応しているレンタルサーバーは、対応してくれています。(ほとんどの場合、コントロールパネルからの操作になります。)
また、後者では、環境に応じたバイナリのライブラリが手に入れば良いですが、入手できない場合は、XCacheをコンパイルする環境が必要になります。ここで、コンパイル作業を含めて簡単に説明します。
Zend Optimizerを使った高速化
以下の手順で簡単に設置できます。
- Zend のホームページからバイナリのライブラリをダウンロードする。
Zend のホームページからダウンロードする際、ユーザIDでログインする必要があります。
Zend のユーザIDを持たない場合は、ユーザ作成から行う必要があります。(無料)
ユーザ登録は、こちらから。
ユーザログインは、こちらから。
ダウンロードは、ログインした後、http://www.zend.co.jp/component/option,com_vfm/Itemid,139/dir,zendoptimizer/から。
ダウンロードするファイルは、OS及びOSのバージョン、PHPのバージョンにて異なります。
必ず、レンタルサーバーのOS及びOSのバージョン、PHPのバージョンを確認しましょう。
※さくらインターネットでは、FreeBSD7ですが、それに対応するものはありません。FreeBSD6対応版で動作しますので、それをダウンロードしましょう。
- サーバーへダウンロードしたファイルをアップロードする。
ダウンロードしたファイルを解凍し、必要なファイル”ZendOptimizer.so”のみをサーバーへアップロードします。
アップロード先は、わかり易い方が良いでしょう。例)/home/username/lib/ZendOptimizer.so
- php.iniを更新し、Zend Optimizerを有効にする。
php.iniへ以下のように追加します。
2行目のディレクトリは、上記でアップロードしたディレクトリを指定します。
zend_optimizer.optimization_level=15 zend_extension = "/home/username/lib/ZendOptimizer.so"
最後に以下のように記述したphpファイルをWEBから見えるところへアップロードしWEBから表示させてみましょう。
<?php echo phpinfo(); ?>

このような表示がなされればOKです。
※通常、php.iniの編集は、コントロールパネルから行えるようになっていると思いますので、そのページから編集しましょう。
共用サーバーの場合、コントロールパネルから編集・保存を行うと自動的にapacheへphp.ini情報を読み込むようになっているはずですからね。
XCacheを使った高速化
これは、非常に簡単な手順で、設置できます。
- XCache のホームページからソースコード一式をダウンロードする。
XCache のホームページからソースコード一式をダウンロードします。

wget コマンドで直接サーバー上からダウンロードすると楽です。
1.30のファイルは、以下のURLからダウンロードできます。
http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz
- サーバーへダウンロードしたファイルをアップロードする。
※wget コマンドで直接サーバー上からダウンロードした際は、ここはスキップします。
ローカルのパソコンへ一旦ダウンロードした場合は、そのあと、サーバーへアップロードしましょう。
ここでは、サーバーの/home/username/lib/XCacheへアップロードしたファイルがすべて解凍されたものとして、以降、話を進めます。
- サーバーでコンパイルし、バイナリファイルを作成する。
SSHあるいはTELNETでサーバーへログインします。
シェルから以下のように入力し、バイナリのライブラリファイルを作成します。
/home/username/lib/XCache/modules/xcache.so というファイルができていることを確認しましょう。$/home/username/lib/XCache > phpize : : $/home/username/lib/XCache > ./configure --enable-xcache : : $/home/username/lib/XCache > make : : $/home/username/lib/XCache >
- php.iniを更新し、Zend Optimizerを有効にする。
php.iniへ以下のように追加します。
2行目のディレクトリは、上記でアップロードしたディレクトリを指定します。“/home/username/temp/xcache”、”/home/username/temp/xcache_cov”というディレクトリは、自分で作成するとエラーになります。zend_extension = /home/username/lib/XCache/modules/xcache.so xcache.size = 32M xcache.var_size = 16M xcache.mmap_path = "/home/username/temp/xcache" xxcache.coveragedump_directory = "/home/username/temp/xcache_cov"
“/home/username/temp/”までのディレクトリがない場合は、そこまでを作成しておきます。
これで、前回同様、以下のように記述したphpファイルをWEBから見えるところへアップロードしWEBから表示させてみましょう。
<?php echo phpinfo(); ?>

このような表示がなされればOKです。
※通常、php.iniの編集は、コントロールパネルから行えるようになっていると思いますので、そのページから編集しましょう。
共用サーバーの場合、コントロールパネルから編集・保存を行うと自動的にapacheへphp.ini情報を読み込むようになっているはずですからね。
サーバーのCPUやメモリが増加するわけではありませんから、自身のサイトのアクセスがそれほどない場合は、それほどの効果はないでしょう。
アクセス過多となっているサイトへの対処として一度試されるのも良いかもしれませんね。
この記事を読んだ人は次の記事も読んでいます:


へどうぞ。(お試し期間が10日あります。)
からどうぞ。(お試し期間が14日あります。)
(4.50)
(4.44)
(5.00)
(1) ...
(2) ...
ボタンをクリックすることで、レンタルサーバー、ドメインレジストラを評価いただけます。

2010年4月9日, 3:38 PM
2010/4/9
相性みたいなのがあるのか、運用してみるとエラーが、以前よりも発生しているような・・・・。
仕組みからして、レンタルサーバーで意味があるのか・・・という疑問もなきにしもあらず・・・ですが。
既にエラーが多発しているようなら、一度、試すのも良いと思います。
導入したら、必ずサーバーのエラー情報を確認しましょう。
もし、エラーが多発するようであれば、php.iniを消せば元に戻ります。