Zend Studio5.5安装Zend Debugger时遇到的那些个事儿_Zend Debug Server未连接怎么办?
  包拯 发表于 2012-02-26 00:30  分类:技术资料  3,765 次阅读  0条评论

说实话PHP这个语言虽然强大,但是其IDECC++C#Java等的IDE比较起来,确实没有什么优势,好多人正是因为这个原因,一下子就被堵在了深入了解PHP项目的执行过程的大门之外了。——我并不反对崇拜、模仿和成为那些用记事本写程序,写完哗哗一运行结果全部正确的大神们,但是对于刚入门的小鸟来说,这个确实是很坑爹——热情的小火苗一下子就被浇灭了。

在众多的、并不完美的PHPIDE中,通过网络上的评价以及个人的试用,觉得Zend Studio还是其中可以用的一款——矬子里选将军吧。而Zend Studio中比较经典的就是Zend Studio5.5这个版本,就跟VC系列中的VC6类似的吧。

前段时间整Zend Studio,就遇到了很多问题,也没有时间总结,现在总结一下,相信可能有人用得着,即使别人用不到,自己算是做个备忘,以后遇到相同的问题方便查阅。

好吧,按照大多数的套路,第一步,你先安装或者配置一个PHP的环境,一般情况下在Windows时,我推荐大家直接用WampServer这个软件直接安装就好了,这个挺方便,一路下一步下去,连ApacheMySQLPHP都有了,直接设置一下Alias,就可以展示你的项目了(如本地搭建的wordpress)。这个并不很复杂,搜索引擎就能搜到,而且都好用。

接下来第二步是Zend Studio5.5的安装,这个我这里不介绍了,用“Zend Studio5.5安装”作为关键词搜索,会搜出一大堆,带真相的也有,包括怎么汉化,怎么解决乱码问题等等。这个自己动手吧,基本上都能安装正确。

安装以后先别着急着建立或者打开项目什么的,咱们要调试一个大的项目还需要第三步安装一个叫做Zend Debugger的插件——讲究吧?

Zend Debugger的安装和配置在网上也能找到套路,按照这个套路来就行:

1)先下载Zend Debugger

2)解压出和你当前php的版本对应的Zend Debugger版本,例如php版本是5.2.5,就要把5_2_x_comp给解压出来(至于5_2_x_nts_comp指的是non-tread safents版本和ts版本有什么区别,见本站另一则文章:

http://www.youduoshao.com/2012-02-25/201202251856.html),

5_2_x_comp\ZendDebugger.dll移动到某个目录下,例如D:\ \ZendDebugger\5_2_x\ZendDebugger.dll,将压缩包中的dummy.php解压到你的web根目录,例如你要调试的WordPressE:\web\wordpres这个目录,则要将这个dummy.php放在这个目录下。

3)修改php.ini,加入了这些内容:

zend_extension_ts=D:/ ZendDebugger/5_2_x/ZendDebugger.dll
 zend_debugger.allow_hosts=127.0.0.1/32,192.168.1.226/24
zend_debugger.expose_remotely=always

其中192.168.1.226是本机的IP地址。

做完上面这些之后,在你的浏览器里输入:http://localhost/?phpinfo=1

也就是用phpinfo()函数查看php信息,如果显示的网页中能找到下面的内容,那么你的安装应该成功了。

phpinfo()

       接下来的工作就是打开你的Zend Studio5.5,点击“工具”下的“首选项”菜单,选择“调试”标签。

zendstudio

调试方式,设置为服务器;

Debug Server URL,设置为你的项目的URL,如果你的Apache的端口不是80的话,需要加上端口号,例如127.0.0.1:8888/wordpress

剩下的都使用默认就可以了。

做完这些之后,点击“工具”菜单下的“检查Debug Server连接”,如果出现

debug server

那么恭喜你,本文下面的内容你就不用看了,去展开你的PHP调试之旅吧。而如果出现下面的界面,那你还得继续看我罗嗦下去。

zendStudio

       造成Zend Debug Server未连接的原因很多,正如点击他给出的疑难解答标签时看到的提示一样:

如果调试会话未启动,

请检查下列常见问题:

- 尝试连接的地址可能无效。

- Zend Debug Server 可能未正确安装在

   你正在连接的服务器上。

   可在服务器上检查 phpinfo() 的输出

   来测试这种情况,并搜索“Zend Debugger”。

   如果未安装,应该在您的服务器上安装

   Zend Platform

- Zend Platform 可能配置成了不允许主机

   启动调试会话。

   可在 Zend Platfom 中或 php.ini 文件中

   配置所允许/拒绝的主机列表。

- 您的机器可能有防火墙保护,

   因此阻止 Zend Debug Server 与其连接。

   Zend Debug Server 试图连接回您的机器的

   指定端口(缺省值为 10000,可在

   “首选项 -> 调试”窗格中配置)。

   您可能必须在防火墙中打开此端口

   以启用远程调试。

- 输入的地址可能不是有效的 PHP 文件。

   PHP 必须安装在服务器上,并进行配置

   以将指定的扩展名作为 PHP 文件处理。

- 可能在尝试通过代理服务器连接。

   设法禁用代理(完全禁用,或者对正在尝试

   连接的特定服务器禁用)。

- 有可能已出现其它类型的错误。

   请试着检查服务器错误日志

   (通常在 UNIX 系统的 /var/log/httpd/error_log 中)

   的结尾处,以获得可能的错误消息。

- 在参数中设置的Zend Platform URL

与在通道设置中定义的通道目标主机的URL不同。

是不是看着有点头晕眼花?

按照他的提示进行检查吧,如果你在他提示的错误信息中找到了原因并解决了,本文后面的内容你也就不用看了。

可能还是没有解决你的问题,好吧,看看我犯的错误,或许会给你一些提示:

因为PHP分为nts版本和ts版本,本身又有PHP4.X.XPHP5.1.XPHP5.2.X以及PHP5.3.X版本,而与之对应的ZendDebugger也有不同的版本。

PHP的版本和ZendDebugger的版本不一致就会导致上面的连接测试不能成功。

因此要在选择ZendDebugger的时候要与你的PHP版本保持匹配!并且要区分NTS版本和TS版本!

值得一说的是目前针对PHP5.3.XZendDebugger只有针对PHP5.3.XNTS版本,没有普通的TS版本!而NTS版本作为测试和开发还是可以用的,但是真正用来部署服务器就不靠谱了。因此大家要在这里做个取舍。

而且有人为了求新,在安装WampServer或者PHP的时候总是喜欢安装最新的版本,结果导致PHP版本大于或者等于5.3.X版本,又选择了TS版本,这样就根本找不到合适的ZendDebugger与之对应,自然就不会测试连接成功。

罗嗦了不少,希望能有一句半句对大家有用,如果出现错误或者不当之处,欢迎给我留言

欢迎对本文或者本站提出任何意见和建议。

 

欢迎各位到本站的贴图区观看和分享图片^_^

贴 图 区

 

本文固定链接: http://www.youduoshao.com/2012-02-26/201202261863.html

填写您的称呼和邮箱即可发布评论

快捷键:Ctrl+Enter