FrontPage | changes | index | create | search | preferences |

PHPA

Last-Modified: Fri May 05 19:37 2006; by KM
edit | copy | diff | rlog | raw
  1. ダウンロード
  2. インストール
  3. 設定
  4. 確認
    1. パフォーマンス
  5. その他
  6. 関連情報

PHPスクリプトの実行速度を速めるため、FreeBSD5.3上のApache2に、ionCubePHP Acceleratorを導入した際のメモです。

ダウンロード

 アシアル株式会社のサイトから、簡単な登録を済ませると、ダウンロードする事が出来る(無料)。

 もしくは、本家のサイトからダウンロードすることも出来る。こちらの場合、登録は不要である。ただし、付属の文章は英語で書かれている。

 なお、対応しているPHPのバージョンは、現在のところ、4.x系のみである*1*2

*1現時点のFreeBSDでの最新版php_accelerator-1.3.3r2_php-4.3.0_freebsd_i386-4.tgzは、PHP4.4には対応していない。

*2というより、FreeBSD対応のバイナリが配布されるのを待つのみの状況なので、現状でPHP 4.4の高速化を望むなら、www/eaccelerator(旧名 turck-mmcache)の方がはるかにお薦め。こちらはソース配布。

インストール

 インストールは、ダウンロードしたファイルを展開して、適当な場所にライブラリをコピーするだけである。

 # tar php_accelerator-1.3.3r2_php-4.3.0_freebsd_i386-4.tgz
 # cd php_accelerator-1.3.3r2_php-4.3.0_freebsd_i386-4.5/
 # cp -p php_accelerator_1.3.3r2.so /usr/local/lib/

設定

 /usr/local/etc/php.iniには、次のように加えた。

 [phpa]
 zend_extension = /usr/local/lib/php_accelerator_1.3.3r2.so
 ; phpa = on
 ; phpa.tweaks = on
 ; phpa.enable_php_memory_bug_workaround = 0
 phpa.cache_dir = /var/tmp/phpa
 ; phpa.file_perms = 400
 ; phpa.ignore_files = 
 ; phpa.ignore_dirs = 
 ; phpa.cache_file_prune_period = 1h
 ; phpa.cache_file_ttl = 1d
 ; phpa.shm_size = 8
 ; phpa.shm_key = 0xc0deb00
 phpa.shm_perms = 600
 phpa.shm_user = www
 phpa.shm_group = www
 ; phpa.shm_release_at_exit = on
 ; phpa.shm_stats_check_period = 5m
 ; phpa.shm_ttl = 12h
 ; phpa.shm_ignore_files = 
 ; phpa.shm_ignore_dirs = 
 ; phpa.shm_max_processes = 512
 ; phpa.shm_lock_threshold0 = 10
 ; phpa.shm_lock_threshold1 = 10

 この設定*3では、/var/tmp内に、phpaというディレクトリを作成して、その中にPHPAが使用するキャッシュファイルを格納する事にしている。従って、

 # mkdir /var/tmp/phpa
 # chown www:www /var/tmp/phpa

と、事前にディレクトリを準備しておく必要がある*4

 これで、Apacheを再起動すれば、PHPAは有効になる。

*3「zend_extension」に「php_accelerator_1.3.3r2.so」のパスを書き足せば、ほとんどデフォルトのままでOKなのだが、共有メモリのユーザーとグループを設定する点に注意。ちなみに、この例では、Apacheportsからデフォルトのまま導入したので実行ユーザーはwwwである。

*4デフォルトのキャッシュファイルの格納先は、/tmpである。

確認

 phpinfo()を実行して表示されるページの最初の部分に、 Zend logo というZend社のロゴ画像が表示されている箇所があるので、そこに、

Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with the ionCube PHP Accelerator v1.3.3r2, Copyright (c) 2001-2002, by Nick Lindridge

などと、ionCube PHP Acceleratorの文字と、バージョン番号が表示されていれば、ちゃんと、PHPAインストールは認識されている。

パフォーマンス

 パフォーマンスに関しては、以下を参照して下さい。

その他

 共有メモリの使用状況などを把握するためのツール「phpa_cache_admin」を使用するには、現時点のバージョンでは、portsのmisc/compat4をインストールして導入されるFreeBSD4のライブラリが必要。

関連情報


  • Perl/SpeedyCGI - 起動したPerlスクリプトを常駐させることにより、次回起動時から、Perl...
  • FreeBSD/Apache2 - このWikiフォーラム内のApache 2.0に関するものの目次です。 F...