自從用上了PHP5.3,問題還真是多,自上次出現串連MS SQL Server的問題後,這次在安裝 Zend Debugger時又出現了問題。按照Zend官方給出的Zend Debugger安裝步驟,從 這裡 下載了最新的 5.2版本的Studio Web Debugger,從解壓出的ZendDebugger-v5.2-cygwin_nt-i386\5_3_x_nts_comp目錄中複製ZendDebugger.dll 到PHP安裝資料夾下的ext目錄,然後編輯php.ini檔案,在檔案最後加入一下三行:
zend_extension = "d:/php/ext/ZendDebugger.dll"
zend_debugger.allow_hosts= 127.0.0.1
zend_debugger.expose_remotely=always
然後把dummy.php檔案複製到apached的 "DocumentRoot"目錄(在http.conf檔案中設定),可重啟Apache服務後 用phpinfo()顯示的頁面中並沒有Zend Debugger,很明顯,安裝沒有成功。
回過頭再仔細看Zend的安裝步驟介紹,發現zend_extension這項配置有兩種,除了zend_extension以外,還有設定為zend_extension_ts的,分別適用於Non-Thread-Safe和Thread-Safe版的PHP,而我安裝的PHP是Thread-Safe版的(通過phpinfo() 頁面的Thread Safety選項可以查看到),所以應該用zend_extension_ts,但是我下載的Studio Web Debugger 針對php 5.3版的只有nts版的ZendDebugger.dll (從檔案夾名稱可以看出-5_3_x_nts_comp).
仔細搜了一下,終於找到了答案,在Zend 論壇裡一位Zend 員工明確地回複:"目前還沒有針對 Thread-Safe 的PHP 5.3發布相應的Zend Debugger的計劃",這個文章 裡,另一位Zend員工針對使用者在Thread Safe 版PHP 5.3 安裝 Zend Debugger失敗的原因做了更詳細的解釋:
Zend stopped supporting the thread safe architecture when Microsoft also decided to implement its PHP engine with the fast-cgi architecture which means non-thread-safe.
他建議使用者用安裝Zend Server(目前已經支援PHP 5.3)-- Zend Server包含的是Non Thread Safe 版的PHP.
相關連結:
Zend論壇 - 安裝Zend Debugger 的非常詳細的教程: Zend Forums • View topic - Sticky Notes Setting Up Zend Debugger
針對不同平台的最新Zend Debugger 下載列表
轉載:http://zhouhongquan.com/archives/2010/05/zend-debugger-and-php-5-3.html