以前每當一個ZendStudio 的新版本發佈時都會同時發布一個新版的ZendStudioServer 元件,這個元件可以讓我們很方便地進行遠端偵錯。但自從Zend 發布了ZendPlatform 以後他們就不再更新ZendStudioServer 元件了。這就導致我們只能遠端調試PHP 5.1.x 的環境,而不能調試PHP 5.2.x。要調試PHP 5.2.x 只能裝一個龐大的ZendPlatform。 :(
因此我一直在找一個「輕量級」的解決方案。最近在逛Zend.com 時發現了一個好東西:ZendDebugger-5.2.3-Windows-i386.zip,直覺告訴我,這就是我想
要
的
。
Zend,這就會在該目錄裡面新建一個ZendDebugger-5.2.3-Windows-i386 子目錄,裡面有4_3_x_comp、4_4_x_comp、5_2_x_comp 等目錄,將這些x_y_z_comp 分別改為php-xyz(例如將目錄5_2_x_comp 分別改為php-xyz(例如將目錄5_2_x_comp 分別改為php-5.2.x);
確保已經載入了Zend Extension Manager,如果安裝了Zend Optimizer 則會自動安裝Zend Extension Manager,若沒有安裝請先安裝Zend Optimizer 。或者你可以把Zend Optimizer 中ZendExtensionManager.dll 給提取出來,然後手工在php.ini 中加入一行:
zend_extension_ts=”C:Program FilesZendZendOptimizerZendExtensionManager.dll”
其中ZendExtensionManager.dll 的位置請依照你的實際狀況填寫;
在Web Server 的php.ini 新增下面幾行:
zend_extension_manager.debug_server_ts=”C:Program FilesZendZendDebugger-5.2.3-Windows-i386″
zend_debugger.expose_remotely=allowed_hosts
zend_debugger.allow_hosts=127.0.0.1/32,192.168.1.0/24,192.168.1.0/24
zend_debugger.allow_tunnel=127.0.0.1/32
zend_extension_manager.debug_server_ts 的值請依照你的實際情況填寫,就是php-xyz 的父目錄。
把ZendDebugger-5.2.3-Windows-i386 目錄下的dummy.php 複製到你的Web 網站根目錄。
重啟你的Web Server,OK!
簡單總結一下:Zend Studio 的遠端偵錯是由ZendStudioServer 元件(ZendDebuger.dll)提供的。本質上這是一個Zend 擴展,因此你只要能把這個Zend 擴展啟用就可以了。只是Zend 公司出品的Zend 擴充只能由那個Zend Extension Manager 負責加載,所以我們才需要做一些額外的步驟,否則只需簡單地加一行zend_extension_ts = xxxxxx 而已。