我的vim調試器需要我在瀏覽器中設置一個Xdebug cookie,通過追加?XDEBUG_SESSION_START=1
,之後我可以開始調試。Vim的PHP調試器:調試命令行腳本
但在CLI上調用腳本時,我無法設置此cookie /會話。
如何使用vim調試命令行php-scripts?
我的vim調試器需要我在瀏覽器中設置一個Xdebug cookie,通過追加?XDEBUG_SESSION_START=1
,之後我可以開始調試。Vim的PHP調試器:調試命令行腳本
但在CLI上調用腳本時,我無法設置此cookie /會話。
如何使用vim調試命令行php-scripts?
我還沒有在一個方便的地方找到這個拼圖的所有部分,所以這裏是我的稍微更完整的解決方案。這適用於vim 7.3,xdebug 2.0。
在php.ini中右的XDebug相關的設置(使用替代php.ini文件,也許):
[Zend] zend_extension = /full/path/to/xdebug.so xdebug.remote_enable = 1 xdebug.remote_port =9000 xdebug.remote_host = localhost ; We have to turn on remote_autostart when running php from ; cli. That's probably a good reason to keep the cli and apache ; versions of php.ini distinct. xdebug.remote_autostart=1 ; idekey can be just about anything, but the value in php.ini needs ; to match the value used in the environment that launches php. xdebug.idekey=vim_session
出口XDEBUG_IDEKEY = 「idekey = vim_session」
按F5在vim啓動監聽的REMOTE_PORT
在與殼XDEBUG_IDEKEY值,用「php {scriptname}」啓動php
因此,PHP加載php.ini,找到xdebug.so擴展名,這是用這些php.ini設置初始化的。 xdebug擴展攔截腳本執行並嘗試連接到localhost:9000,這是vim + python擴展正在偵聽的地方。建立連接後,xdebug擴展將協調調試會話,並且vim插件將引入一堆類似ide的調試窗口。瞧!
紅利鏈接:我也使用this shell scrip t啓動php。它等到它看到vim打開調試端口,然後啓動php會話。完成後,它會打印結果代碼並循環返回以進行另一次運行(除非您點擊ctrl + c,當然)。
我想你會找到你的答案in the docs(搜索Starting The Debugger
)。
此鏈接討論PHP的命令行調試器。但問題是關於基於VIM的PHP調試器,這是一個非常不同的動物。 – Stabledog