最近在想辦法加速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

文章標籤
創作者介紹
創作者 卡卡 的頭像
卡卡

卡卡的程式部落格

卡卡 發表在 痞客邦 留言(0) 人氣()