vs.php中使用apache或IIS7进行外部调试

来源:互联网 发布:公安网络布控 编辑:程序博客网 时间:2024/06/05 04:03

vs.php中使用apache或IIS7进行外部调试

vs.php中使用apache或IIS7进行外部调试

1、解决vs.php2.7在Windows7下调试apache出错的问题  
vs.php默认使用内部调试模式,由于vs.php2.7默认自带的内部调试的apache和php版本比较低,   
在Windows7中运行的时候会产生不兼容的情况,具体表现为apache出错退出,解决办法:   
改变安装目录中的apache.exe在兼容模式下运行   
我这边是C:\Program Files\Jcx.Software\VS.Php\2008\2.7\Apache2\bin\apache.exe,兼容模式   
选择是Windows2003

2、vs.php使用IIS7进行外部调试  
很遗憾,我测试了很多次都没有成功,截止到Xdebug 2.1.0beta2对IIS7支持不好,不管是采用ISAPI还是FASTCGI模式,   
都没办法进行断点调试。   
附网上的方法,其实这种方法是没办法进行断点调试的,只是看上去很美好罢了:   
右击项目,选择“属性”,在“属性”页里选中Debug,更改里面的Debug mode为“External mode”。   
设置Debug engine为“XDebug”。最后再把Start Url改为IIS下设置的PHP项目首页文件,   
如:“http://localhost:8080/vsphp/index.php”。(注:我在 IIS7下专门为PHP新建了一个端口为8080的网站)

3、vs.php中使用外部的apache进行调试  
一般phper们都会有自己配置好的开发调试环境,那么如何在vs.php中使用自己已经配置好的apache+php环境调试   
php程序呢?如下:   
(1)从官方网站http://xdebug.org/download.php下载最新的xdebug.dll(记得改成这个文件名)放到你的php目录的ext目录下   
根据你的php的thread-safe模式,选择相应的版本,查看方法phpinfo()的Thread Safety的值,   
我用的php是5.2.12,Thread Safety为enable,所以我下载的是 5.2 VC6 (32 bit)   
(2)修改php.ini文件,加入下面的代码   
zend_extension_ts=”D:\Server\server_core\php-apache\ext\php_xdebug.dll”

;;;;;;;;;;;;;;;;;;;  
; Module Settings ;   
;;;;;;;;;;;;;;;;;;;   
[XDebug]   
xdebug.idekey = vsphp   
xdebug.remote_enable = 1   
xdebug.remote_port = 7870   
xdebug.remote_autostart = 1

(3)在vs里右击项目,选择“属性”,在“属性”页里选中Debug,更改里面的Debug mode为“External mode”。  
设置Debug engine为“XDebug”。最后再把Start Url改为你已经配置好的apache+php环境的项目首页网址   
(4)重启apache服务器

4、注意!xdebug和zendoptimizer不兼容,所以在开启xdebug调试的时候请务必在php.ini里关闭zendoptimizer,如下前面加上分号即可  
[Zend]   
;zend_extension_manager.optimizer_ts=”D:\Server\server_core\zendoptimizer\lib\Optimizer-3.3.0″   
;zend_extension_ts=”D:\Server\server_core\zendoptimizer\lib\ZendExtensionManager.dll”   
如果xdebug生效的话,你可以在phpinfo()里看到   
with Xdebug v2.1.0beta2-dev, Copyright (c) 2002-2010, by Derick Rethans   
等字样。


作者:水木    
出处:http://www.hitidc.com/
0 0