XDebug是个好东西啊,用来调试PHP程序的,可以和Eclipse配合。
配置步骤:(Windows+Apache+php环境)
1.下载和PHP版本环境相适应的XDebug版本,放置于PHP目录,主要None-ThreadSafe版似乎是用来在CLI方式下使用的,一般不需要
2.修改php.ini文件,参考如下
[Xdebug]
;zend_extension_ts = "D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6.dll"
;发现在PHP5.3+Apache(CGI)方式下,似乎必须使用 zend_extension 加载才能成功
zend_extension = "D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6-nts.dll"
xdebug.auto_trace = off ;开启自动跟踪
xdebug.remote_autostart = off ;开启远程调试自动启动
xdebug.remote_enable = 1
xdebug.remote_host = 10.5.184.251
xdebug.remote_port = 9000
;xdebug.remote_handler = “dbgp”
xdebug.show_exception_trace = On ;开启异常跟踪
xdebug.collect_vars = On ;收集变量
xdebug.collect_return = On ;收集返回值
xdebug.collect_params = On ;收集参数
注意:remote_host应该填写远程调试机的地址,而不是PHP服务器的地址,在Xdebug运行方式下,调试工具实际是调试过程的服务端,Xdebug会主动连接指定的remoete_host,从而建立调试通讯。所以要注意调试机的防火墙问题
3.配置调试工具,Eclipse就很好用,具体不说了,摸索下就可以了
4.Apaceh2下的CGI、FastCGI、Module方式都可以正常使用Xdebug
2009-07-07
5.最新发现在PHP5.3+Apache(CGI)方式下,似乎必须使用 zend_extension 加载才能成功,而不是Zend_extension_ts
顺便放个我常用的PHP.ini的设定,你不需要逐个在PHP.INI里查找相应的行,再修改,只有把这些内容附加到PHP.INI文件后面,它会自动覆盖前面设置。
cgi.force_redirect = 0
cgi.fix_pathinfo = 1
fastcgi.impersonate = 1;
;session.save_handler = files
;session.save_path = /tmp
session.use_cookies = 1
;session.use_only_cookies = 1
; file_uploads = On
; upload_tmp_dir =
; upload_max_filesize = 2M
; post_max_size = 8M
; memory_limit = 8M
; max_execution_time = 30
; max_input_time = 60
display_errors = on
; error_reporting = E_ALL
log_errors = off
; error_log = d:\server\php5\logs\error.log
; mysql.connect_timeout = 1
; doc_root = d:\wwwroot
extension_dir = "D:\server\php5\ext"
extension = php_mysql.dll
extension = php_mysqli.dll
;extension = php_pdo.dll
extension = php_pdo_mysql.dll
extension = php_mbstring.dll
extension = php_mcrypt.dll
extension = php_gd2.dll
extension = php_bz2.dll
extension = php_curl.dll