博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apmserv下xdebug的配置
阅读量:6371 次
发布时间:2019-06-23

本文共 2216 字,大约阅读时间需要 7 分钟。

Apache 用vc9编译的, PHP用vc9编译的,xdebug也找vc9编译,正常配置,就不信特么的还出错(2014年1月23日 11:15:13)

windows下,如果在配置文件中写指令 extension=php_xdebug.dll 在启动Apache时或在命令行执行PHP时会有warning说xdebug要以zend扩展的模式被加载,可以不用管它,因为要是按照提示,用指令zend_extension=php_xdebug.dll/zend_extension_ts=php_xdebug.dll时虽然没有警告但是xdebug会不起作用(2014年3月18日 17:38:15)

----------------------------------

先看看线程安全(ts/nts)与php编译的解释(vc6/vc9)

2013年3月15日 09:47:31(extension和zend_extension的区别)

  (重要,只要找对了版本,就不要在那堆列表(PHP扩展列表)中写extension=php_xdebug.dll,因为xdebuge属于zend的扩展,而不是PHP的扩展,所以要在[Xdebuge]栏目下写zend_extension[_ts]="xdebuge的绝对路径")

大家在安装xdebug前用phpinfo();输出一下,将内容复制到  中(xdebug官方网站)

我的开发环境是apmserv5.2.6,得到的结果如下:

Summary

 

Xdebug installed: no

Server API: Apache 2.0 Handler

Windows: yes - Compiler: MS VC6 - Architecture: x86

Zend Server: no

PHP Version: 5.2.6

Zend API nr: 220060519

PHP API nr: 20060613

Debug Build: no

Thread Safe Build: yes

Configuration File Path: C:\windows

Configuration File: F:\APMServ\PHP\php.ini

Extensions directory: F:\APMServ\PHP\ext

The compiler (MS VC6) that this PHP was build with, is no longer supported. Please upgrade to a version that was built with MS VC9.

 

注意几点:

1,你的PHP在被编译时用的是哪个版本的c语言编译工具 是vc6 还是 vc9,如果是vc6(通过上边分析结果知道,apmserv 5.2.6 是用vc6编译的),那么下载xdebug.dll时选择名字中有vc6的版本;

2,弄清你的php在编译后是带线程安全(ts)功能的,还是不带线程安全(nts)功能的,例如:apmserv5.2.6里的PHP是线程安全的,那么在PHP配置文件中要写上zend_extension_ts=php_xdebug.dll(在apmserv 5.2.6的PHP配置文件中我试了xdebug 2.0.4版本,只有写成zend_extension_ts=php_xdebug.dll,phpinfo()才能识别xdebug)

 

总之:

1.必须保证PHP和xdebug带不带有线程安全功能要统一,且都是同一个版本的编译器编译的(vc6或者vc9)

2.zend_extension_ts=php_xdebug.dll (zend_extension_ts=php_xdebug.dll写在[xdebuge]模块里)

3.注释或不写extension=php_xdebug.dll(和Dynamic Extensions中列出的一堆*.dll写在一起),否则apache启动的错误日志里会提示警告,xdebug必须以zend的扩展(而不是php的扩展)进行加载,(写了也不影响加载,依旧会在phpinfo()里出现)

4."上下"都写明了xdebuge扩展的路径,Apache会提示重复加载,但不影响加载,主要还是PHP的版本和xdebuge版本得匹配

 

p.s.

只运行简单的phpinfo();函数测试:

xdebug的2.0.3-2.0.5的ts版本可以被apmserv 5.2.6使用,但包括2.1.0版本在内的新版本,即使是用vc6编译的带ts功能的xdebug,apmserv5.2.6中都不能使用,会出现页面重置的情况,不知道为什么(应该能使用,但我不知道还需要修改什么配置)。

php_xdebug-2.0.3-5.2.5.dll(名字中没有nts表明该版本的xdebug在编译的时候配置带有线程安全功能)

php_xdebug-2.0.4-5.2.8-nts.dll(nts意思是该版本的xdebug没有线程安全功能,Non-thread-safe)

php_xdebug-2.1.2-5.2-vc6.dll(该版本的xdebug是用vc6编译的,也是最后一个用vc6编译的版本,此后的版本都是用vc9编译的因此不能在apmserv5.2.6上使用) 

转载地址:http://dfuqa.baihongyu.com/

你可能感兴趣的文章
配置管理小报101021:给ubuntu加监控
查看>>
qml文字滚动效果的封装,实现方式运用的qml中提供的动画效果,另一种实现方式也可以使用定时器修改控件的坐标来实现...
查看>>
标准C++实现任务队列
查看>>
jdbc url
查看>>
刷leetcode第704题-二分查找
查看>>
debug_backtrace() 函数生成一个 backtrace(追踪)
查看>>
第七天,还是盒子
查看>>
XAMPP软件包下载
查看>>
XXL-JOB初体验-ORACLE版
查看>>
沉思录:别人的棺材
查看>>
jersey + spring + mybatis + redis项目搭建
查看>>
PAT 1006 部分正确_另一种解法
查看>>
在Keil环境下使用JLink实现printf输出重定向至debug窗口
查看>>
postgres的\d命令不显示全部的用户表
查看>>
poj 3468 A Simple Problem with Integers
查看>>
OOA/OOD/OOP细讲
查看>>
Tomcat 系统架构与设计模式_ 设计模式分析
查看>>
Quartz的使用
查看>>
微服务接口设计规范和统一异常处理策略
查看>>
自研服务治理框架----服务端/客户端配置
查看>>