原创文章,转载请指明出处并保留原文url地址
1. PhpED调试问题概述
前面我们介绍了基于NuSphere系统调试wordpress博客程序, 我们通过在浏览器的地址栏中的url中添加特定调试参数,来启动PhpED调试模式, 来调试wordpress的php脚本。详情参见:
Windows live writer是一个专用的blog客户端软件, 相关信息参见:
http://www.iigrowing.cn/tag/live-writer
Windows live writer(简称:wlw)写博客非常方便, 但是对他工作过程还是有些模糊, 若想做些调整等就有些困难了。因此考虑从整体上考虑调试wlw同wordpress工作过程的念头, 这样才有了前面的两篇文章, 关于php开发环境, 基于NuSphere环境调试wordpress系统的文章的出现。
但是,前面两篇文章并没有彻底解决全部问题, 仅仅解决了php的基础调试环境, 调试网页的环境等。 若是调试wlw的工作过程是做不到的。理由如下:
调试php需要一个debug参数, 这个参数无法在wlw中输入, 即使输入了也不好用, 仅仅是第一次调用存在,后续调用中wlw并没有提供输入这个参数的机会, 因此后续操作都不能成功调试了。
如何解决这个问题?
解决这个问题的关键就是,给每个wlw的请求自动添加一个动态调试的参数,必须是自动添加, 因为你没有机会修改wlw的调用。
根据这个就考虑到我们需要一个代理服务器,准确是反向代理(这里有篇反向代理的文章)服务器, 通过wlw将请求首先发送给方向代理服务器, 反向代理服务器将请求在转发给后端的wordpress系统, 在反向代理转发的同时, 顺便添加一个动态调试的参数,这样就可以解决了php调试的目的了。
因此调用过程如下: wlw=》nginx=》添加调试参数=》反向代理的php环境=》phped调试。
工作过程示意图
2. 基本环境需求
a) Php环境, 选择xampp软件环境,方便安装测试。关于如何利用xampp软件安装php,参见:XAMPP安装及使用概述
b) WordPress系统安装方法参考: WORDPRESS安装
c) Phped调试环境 基于NuSphere环境调试wordpress系统
d) Windows下nginx Windows XP下Nginx的安装与配置
3. 配置 windows xp下nginx
配置192.168.186.163 服务器上windows下nginx
1)配置nginx系统
进入conf目录, 打开nginx.conf文件
上图中黄色4 位置, 配置url重写配置, 在相关配置中通过判断参数中是否包括:DBGSESSID= 参数, 若是不包括参数,就重写新的包括DBGSESSID=413693790766000002;的url请求。
从新写过的请求被下面的if语句捕获,在if语句中重新将请求通过 proxy_pass指令转发到另外一台服务器上的相应80端口。
在重新修改过的url中已经包括了DBGSESSID=413693790766000002;参数, 这些参数传递到另外一台服务器时,已经包括了调试php的相关参数(基于NuSphere环境调试wordpress系统)
相关配置文件如下:
worker_processes 1;
events { worker_connections 1024; }
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name kkk.iigrowing.cn;
location / {
if ( $args !~ DBGSESSID= ) {
rewrite ^/(.+)?(.*)$ “/$1?DBGSESSID=413693790766000002;d=1,p=1,c=0&$2″ last;
}
if ( $args ~ DBGSESSID= ) {
proxy_pass http://192.168.186.162:80;
}
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
2)启动windows下的nginx系统
4. 启动192.168.186.163服务器的PhpED环境
启动后,会启动php调试的监听程序, 如下图
如监听程序没有启动则需要重新配置php的调试环境
5. 配置192.168.186.162服务器
1)配置hosts文件, 如下图
配置 www.iigrowing.cn到163服务器
2) 启动windows live writer程序, 配置成如下:
3) 创建新blog文章
如上图, 写好文章的标题, 及内容, 然后点击发布按钮
6. 查看192.168.186.163的调试环境
点击发布文章按钮后, 查看163服务器的调试器PhpED,如下图
图中蓝色断点是本次请求的执行断点, 通过这个断点可以查看当前相关各种参数。
7. 总结:
本次配置已经成功配置了调试windows live writer的一个php环境系统。
问题, 在162及163两个环境下都需要一个PhpED环境, 目前还没有找到原因,但这个不影响系统的调试,问题留待后续解决。