9 月 16, 2008
FreeBSD, php
No Comments
今日、ふっと思いました。あ、phpのインストール方法を記事にしてない!!
う~~ん、FreeBSDでphpインストールなんて、まじに簡単すぎて記事にすることもないかなぁと思いましたが、例えばこのブログ(wordpress)もPHP+mysqlで動いているわけですし紹介しないわけにはいかないなぁっと思いまして。今回もサクッとportsを利用してインストールを行っていきます。
#cd /usr/ports/lang/php5
#make install clean
注意点としてはapache、multibyteを追加でチェックを入れてインストールを行う事でしょうか。あと日本語関連(mbstring)やmysqlを利用できるように関連モジュールもインストールしていきます。
#cd /usr/ports/lang/php5-extensions
#make install clean
インストールできるエクステンションモジュールを細かく指定できます。とりあえず自分がしているモジュールは下記の通りです。
WITH_CTYPE=true
WITH_DOM=true
WITH_FILTER=true
WITH_GD=true
WITH_HASH=true
WITH_ICONV=true
WITH_JSON=true
WITH_MBSTRING=true
WITH_MCRYPT=true
WITH_MYSQL=true
WITH_MYSQLI=true
WITH_PCRE=true
WITH_PDO=true
WITH_PDO_SQLITE=true
WITH_POSIX=true
WITH_SESSION=true
WITH_SIMPLEXML=true
WITH_SPL=true
WITH_SQLITE=true
WITH_TOKENIZER=true
WITH_XML=true
WITH_XMLREADER=true
WITH_XMLWRITER=true
まぁ付属分があったとしても後でインストール可能です。なので日本語関連モジュールとデータベースモジュールを忘れずにインストールするだけで(基本的には)問題ないと思います。
6 月 9, 2008
php
No Comments
phpで高速化再びです。
前回APCで高速化を行い失敗しましたが、懲りずに今度はeAcceleratorで高速化を行ってみました。
前回と同様にportsでインストールを行います。
% cd /usr/ports/www/eaccelerator/
% make install clean
やっぱり楽ですねぇ。「make install clean」だけでインストールが完了します。インストールが完了すると行うと下記のような表示がでます。
You have installed the eaccelerator package.
Edit /usr/local/etc/php.ini and add:
zend_extension=”/usr/local/lib/php/20020429/eaccelerator.so”
Then create the cache directory:
mkdir /tmp/eaccelerator
chown www /tmp/eaccelerator
chmod 0700 /tmp/eaccelerator
どこにeAcceleratorがインストールされたかが表示、それと同時に/tmpディレクトリ配下にeAcceleratorで使用するディレクトリを作成して、apacheから使用できるように設定を行うように指示されるのでそのように設定します。
% mkdir /tmp/eaccelerator ← ディレクトリを作成する
% chown www /tmp/eaccelerator ← オーナ権限をwwwに変更する
% chmod 0700 /tmp/eaccelerator ← パーミッションを700に変更する
次にphp.iniにeAcceleratorの設定を追加します。
% vi /usr/local/etc/php.ini
~追加する内容~
[eaccelerator]
zend_extension=”/usr/local/lib/php/20020429/eaccelerator.so”
eaccelerator.shm_size = “32″
eaccelerator.cache_dir = “/tmp/eaccelerator”
eaccelerator.enable = “1″
eaccelerator.optimizer = “1″
eaccelerator.check_mtime = “1″
eaccelerator.debug = “0″
eaccelerator.filter = “”
eaccelerator.shm_max = “0″
eaccelerator.shm_ttl = “0″
eaccelerator.shm_prune_period = “0″
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”
上記内容を 追加したら、apacheをrestartします。これでphpが高速に実行されます。

導入した結果は上々、明らかに体感スピードが変わりました。
6 月 9, 2008
php
No Comments
自分が管理しているサーバで、phpの実行スピードが遅い(希にタイムアウトを起こす事がある)のでAPCで高速化をはかってみました。
APCとは・・・・・
簡単に言うと、PHPはスクリプトを実行する前に中間形式にコンパイルして実行していますが、毎回、毎回、同じコードなのに同じように中間形式にコンパイルして実行するのは資源と時間の無駄。よってその無駄をなくして高速化を図りましょう。という事を行います。
具体的には中間形式コンパイルを一度実行してたら、その結果を(中間形式にコンパイルしたコード)ファイルか共有メモリーに記憶して再利用します。
インストールの方法
FreeBSDではportsからインストールすることが可能です。ここはやはりportsを利用してインストールを行うべきでしょう。
% cd /usr/ports/www/pecl-APC
% make install clean
以上でインストールは終了です。「/usr/local/etc/php/extensions.ini」を確認して
extension=apc.so
という記述が有ることを確認してください。次に「/usr/local/etc/php.ini」に
[apc]
apc.optimization=1
apc.mode = mmap
apc.cachedir = /tmp
apc.check_compiled_source = 1
apc.check_mtime = 1
と言う記述を追加します。後はapacheを再起動するとAPCが有効化されます。有効になるとphpinfoで下記湖のような表示がなされ有効になったことが確認できます。

ただメモリーも結構要求されるらしくって、とあるサーバでは使用を諦めました。スピードは速くなって良かったけど。と言うわけで次につつく。。。。。