最近在想辦法加速zend framework的執行速度 弄了超久
下次有這種case 我死都不用zend了= =
這次要用的是利用xdebug和wincachegrind來分析一下php執行的速度和呼叫情況之類的
首先要裝的是xdebug這個工具
進去官網後的下載頁面後可以看到幾種執行檔
我這邊用的是php5.2版 有兩種可以選 PHP 5.2 VC6 (32 bit), PHP 5.2 VC6 TS (32 bit)
如果是php5.3版就要選另外幾種了
這邊我是分不太清楚前後兩種的差別 不過如果是用一般的apache server的話可以用後面那種試試看
下載後放至php目錄的ext資料夾底下
在php.ini檔裡加上以下幾行
[Xdebug] extension=php_xdebug.dll xdebug.profiler_enable=On xdebug.profiler_output_dir="C:\xdebug"
通常php_xdebug.dll下載檔名後後面會接一長串版本名
所以我會修改一下檔名 這樣比較不會打錯~
xdebug.profiler_output_dir這邊的資料夾要自己建
為了方便 我通常就直接在C底下直接建一個xdebug資料夾來用
接著要用wincachegrind來作分析
下載回來後直接開就能用了 這邊要先在Tools/Options底下去修改working folder
這邊的目錄跟之前xdebug.profiler_output_dir的目錄會是一樣的
這樣才有辦法分析xdebug所產生的檔案
另外 後來Web server 我改用zend server CE 速度好像增快了不少
不過在開啟web 服務的時候遇到了點問題
後來查到 要到Zend\ZendServer\etc\
將ZendEnablerConf.xml前面的亂碼修改成<?xml 並另存成UTF-8就ok了
但是接著想找怎麼重開web server 卻找不到地方可以按orz
只找到輸入commadn Line的方式
net stop Apache2.2-Zend && net start Apache2.2-Zend
但是想用xdebug實際量測的時候卻發現好像不能直接用之前的設定= =||
後來查了一些資料 大致要修改一些東西
首先 xdebug的dll檔要選擇前面PHP 5.2 VC6 (32 bit)
接著修改C:\Program Files\Zend\ZendServer\etc\cfg\debugger.ini
將zend_extension_manager.dir.debugger=......這行前面加個分號 註解掉
php.ini檔裡 xdebug移到最前面並作一點修改
[Xdebug]
zend_extension="你的php目錄\ext\php_xdebug.dll" xdebug.profiler_enable=Onxdebug.profiler_output_dir="C:\xdebug" zend_extensioln記得是改成自己安裝的對應目錄
安裝的部份差不多這樣就ok了~
參考網頁:
http://daimajishu.iteye.com/blog/958684
http://www.antennule.net/?p=255
http://galide.jazar.co.uk/2011/02/zend-server-hosted-on-windows-restart.html
留言列表