EC-CUBEからは少し離れそうなのでやったことを忘れないように色々メモを残しておこうと思います
第一弾はEC-CUBEをチューニングする為にやったXHProfの導入です
XHProfのインストール
ファイルの取得
PECL :: Package :: xhprof
peclで提供されているけどpeclインストールだとインストールできないので最新を上記から取得する
~~~
wget http://pecl.php.net/get/xhprof-0.9.2.tgz
~~~
解凍
~~~
tar zxvf xhprof-0.9.2.tgz
~~~
インストール
~~~
cd xhprof-0.9.2/extension/
phpize
make
make install
~~~
Installing shared extensions: /usr/lib64/php/modules/
↑にxdebug.soが出来ました
設定ファイルの追加
php.iniに追記でもいいけどファイルを分ける方がなにかとわかりやすいと思う
vim /etc/php.d/xhprof.ini
~~~
[xhprof]
extension=xhprof.so
xhprof.output_dir=/tmp
~~~
moduleを有効化する
~~~
service httpd restart
php -m
~~~
xhprofがPHP Modulesに含まれていればOK
graphvizのインストール
xdebugtoolkitをちょっと使ってみようとしたらとてつもなく苦労した! | のぶろぐでもやりましたがグラフを表示するためにインストールする
~~~
yum install –enablerepo=epel graphviz graphviz-gd
~~~
epel が入ってないとダメなのが難点。。
epelの追加
~~~
wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
~~~
vim /etc/yum.repos.d/epel.repo
~~~
enabled=0
~~~
ここまでで必要なものはそろったので次に表示をさせます
プロファイル結果閲覧用 Web インターフェースの設置
xhprof-0.9.2内にあるxhprof_htmlとxhprof_libを使います
~~~
cp -a xhprof_* /var/www/html/eccube/html/
~~~
とりあえずEC-CUBE内に置きましたがドキュメントルートに置ければどこでも構わないです
導入する
vim /var/www/html/eccube/data/require_base.php
save_run($xhprof_data, $XHPROF_SOURCE_NAME);
//ここを踏むと結果を表示する
echo “xhprof Result\n”;
}
if (!defined(‘XHPROF_SATRT’)){
xhprof_enable();
define(‘XHPROF_SATRT’, ‘true’);
}
register_shutdown_function(‘__xhprof_finish’);
}
~~~
これで完了、EC-CUBEのページをどこでも適当に表示してみてください。
一番下にxhprof Resultというリンクが表示されるはずです、あとはクリックしてみてください(‘¬’*)
導入する2
require_baseをいじるのはちょっと・・・って場合はauto_prepend_fileを使います
vim /var/www/html/eccube/html/.htaccess
~~~
php_value auto_prepend_file /var/www/html/eccube/html/prepend.php
~~~
vim /var/www/html/eccube/html/prepend.php
~~~
save_run($xhprof_data, $XHPROF_SOURCE_NAME);
//ここを踏むと結果を表示する
echo “xhprof Result\n”;
}
xhprof_enable();
register_shutdown_function(‘__xhprof_finish’);
}
~~~
ちょっとだけ違うのは定数が使えないのでそこのパスを指定してあげるぐらいです
以上、導入は大変ですが、やってみる価値はあるxhprofの導入でした
コメント