早期 Zend Studio 每發布新版本,都會同步推出 Zend Studio Server 組件,讓開發者輕鬆進行遠程除錯。但自從 Zend Platform 推出後,官方停止更新 Zend Studio Server,導致無法直接對 PHP 5.2.x 環境進行遠程除錯,除非安裝龐大的 Zend Platform。為了尋找輕量級解決方案,我在 Zend 官網發現了 Zend Studio Web Debugger,經測試確認可行,以下記錄完整設定步驟。
ZendDebugger-5.2.3-Windows-i386.zip。C:\Program Files\Zend),會產生 ZendDebugger-5.2.3-Windows-i386 子目錄,內含 4_3_x_comp、4_4_x_comp、5_2_x_comp 等資料夾。x_y_z_comp 目錄重命名為 php-x.y.z 格式(如 5_2_x_comp → php-5.2.x)。若已安裝 Zend Optimizer,會自動安裝 Zend Extension Manager。若未安裝,請先安裝 Zend Optimizer,或從中提取 ZendExtensionManager.dll,並在 php.ini 手動添加:
zend_extension_ts="C:\Program Files\Zend\ZendOptimizer\ZendExtensionManager.dll"
路徑請依實際安裝位置調整。
在 Web Server 的 php.ini 中加入以下設定:
zend_extension_manager.debug_server_ts="C:\Program Files\Zend\ZendDebugger-5.2.14-Windows-i386"
zend_debugger.expose_remotely=allowed_hosts
zend_debugger.allow_hosts=127.0.0.1/32,192.168.1.0/16
zend_debugger.allow_tunnel=127.0.0.1/32
zend_extension_manager.debug_server_ts 的值為 php-x.y.z 的父目錄路徑。
將解壓目錄下的 dummy.php 複製到 Web 站點根目錄。
重啟 Apache/IIS 等 Web Server,即可在 Zend Studio 中進行 PHP 5.2.x 遠程除錯。
Zend Studio 遠程除錯本質上由 Zend Debugger 擴展(ZendDebugger.dll)提供,屬於 Zend 擴展模組。只需啟用該擴展即可,但 Zend 官方擴展必須透過 Zend Extension Manager 載入,因此需額外配置步驟;若非 Zend 擴展,僅需在 php.ini 添加 zend_extension_ts 一行即可。