使用Visual Studio2015调试云主机PHP代码
以下要用到的所有软件都可以在下面的地址(仅办公网访问)下载得到。
调试流程
- 安装visual studio 2015
下载并安装:http://xesoa.com/app/vs2015/vs2015.pro_chs.iso
步骤略
- 安装1.23.9750
下载并安装:http://xesoa.com/app/vs2015/va_x_2073_setup.zip
步骤略
- 配置云主机
3.1配置xdebug
3.2 php.ini配置如下
- 配置ssh(以exe为例)
这里要做一个说明:如果在云主机上开发,因为云主机是无法连接到办公区域的。所以要做一下隧道转发。对ssh感兴趣的可以参考:http://www.ietf.org/rfc/rfc4251.txt
如果对转发原理不感兴趣可直接跳到操作步骤。
ssh转发包括两个正向转发和反向转发,动态转发(略)。
正向转发例子:
1 |
ssh -fNL *:9000:www.163.com:80 -p 22 admin@ssh.xesoa.com |
凡是发往本机9000端口的都能过ssh.xesoa.com主机的22端口转发给www.163.com:80,这就实现了一个简单的正向代理请求。注意:localhost在本机解析,www.163.com在ssh.xesoa.com上解析。
反向转发的例子:
1 |
ssh -fNR *:11011:10.99.1.11:22 admin@ssh.xesoa.com -p 10026 |
凡是到达ssh.xesoa.com主机端口11011的数据都通过ssh.xesoa.com的10026端口转发到主机是10.99.1.11的22端口上。注意:*代表主机ssh.xesoa.com上的任意IP地址。
因为云主机(10.99.1.124)无法连接上办公区域(172.88.1.126),所以无法正向发给办公区域,所以可以在通过反向转发在172.88.1.126上运行:
1 |
ssh -fNR *:9000:localhost:9000 admin@10.99.1.124 -p 22 |
所有到达10.99.1.124的9000端口的数据都通10.99.1.124的22端口转发到172.88.1.126的9000端口上。调试过程变成下面过程:
操作步骤:
4.1下载plink, windows下ssh的一个实现。
http://xesoa.com/app/ssh/putty/plink.exe
4.2 在cmd里执行
1 |
plink.exe –N –R *:9000:localhost:9000 root@xesoa.com –pw 123456 |
正常连接到远程云主机可以看一下,出现9000端口表示转发绑定成功。
(备注可以把它做成一个开机启动项。)
- 配置vs2015
在这里要说明的是:所有的代码操作(svn提交下载)都在本地,不应该在云主机修改php,所有在本地的修改应该即时的同步到云主机上。
- 新建php工程
指定根目录,这个目录将会与云主机同步。
设置云主机同步目录。项目->属性
Site path是指网站的根目录,每次调试会将本地同步到该目录。
点击publish发布到云主机上。
- 发布代码
在你修改的文件上右键publish就可以将修改推送到云主机上。
- 设置断点
在你需要的地方,设置断点,使用F9。
- 开始调试
按下F5就可以开始调试,如果运行到断点,程序会自己停下来检查。
在浏览器或者postman就可以调试我们的代码,大致窗口如下。
快捷键:
F9设置/取消断点
F10下一步
F11进行函数
F12 转到函数定义
Shift+F9,查看变量值
Ctrl+F5停止运行和调试