PHP

zend debugger 与 zend optimizer和xdebug共存的方法

?

我用的是lamp集成环境是xampp,linux下是lampp,其实都是一个东西。

想改变一下自己老土的调试方式,所以试用一下zend debugger和xdebug

言归正传,如何让三者共存呢。(理论上,你用zend debugger就不必再使用xdebug,反之亦然)

xampp已经给好了zend optimizer的配置,并且xdebug也已经默认给配置好了,只是都没有启用而已

<strong>第一步:启用zend optimizer</strong>

在php.ini中,找到zend_optimizer.enable_loader,把值高为1即可

如:

[Zend]
zend_extension_ts = “D:xamppphpzendOptimizerlibZendExtensionManager.dll”
zend_extension_manager.optimizer_ts = “D:xamppphpzendOptimizerlibOptimizer”
zend_optimizer.enable_loader = 1
zend_optimizer.optimization_level=15
zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:

<strong>第二步:加载zend debugger</strong>

这里是一个需要注意的地方

下载zend debugger: 地址:http://downloads.zend.com/pdt/server-debugger/,下载符合你操作系统的版本, 保存到自定义的目录,例如d:/xampp/php/zenddebugger

在该目录下建立一个相应当前php版本的文件夹, 如当前php版本php5.26, 即在该文件夹下建立php-5.2.x文件夹, 注: 此处X为真实的字符,而不是一个代表符。

将下载的debugger中相应版本的ZendDebugger.dll考到该目录下。

再配置 php.ini,加入

[Debugger]
zend_extension_manager.debug_server_ts=”D:xamppphpzenddebugger”
zend_debugger.allow_hosts=127.0.0.1/32,192.168.0.0/44
zend_debugger.expose_remotely=always

重启apache,查看phpinfo,如果看到
<blockquote>with?Zend?Extension?Manager?v1.2.0,?Copyright?(c)?2003-2007,?by?Zend?Technologies
with?Zend?Optimizer?v3.3.3,?Copyright?(c)?1998-2007,?by?Zend?Technologies
with?Zend?Debugger?v5.2.15,?Copyright?(c)?1999-2008,?by?Zend?Technologies</blockquote>
就说明成功了

<strong>第三步:加载xdebug</strong>

我们可以以扩展形式加载xdebug,就避免了和zend optimizer冲突。

extension=php_xdebug.dll

注意php_xdebug.dll要在xampp/php/ext目录下

然后php.ini中添加的内容 (xampp已经添加好,我们只需要去掉注释即可)

[XDebug]
;; Only Zend OR (!) XDebug
;zend_extension_ts=”D:xamppphpextphp_xdebug.dll”
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
;xdebug.remote_handler=dbgp
;xdebug.profiler_enable=1
;xdebug.profiler_output_dir=”D:xampptmp”

再重启apache, OK。 开始测试

结果是,zend debugger可以和zend optimize共存,但xdebug不能和zend optimize共存

如果使用dll方式加载xdebug,会有错误提示。并且不再执行

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部