zend studio 安装xdebug
XDebug安装
到http://xdebug.org/download.php选择自己需要的xdebug版本。然后按照下面的配置建立目录.并在php.ini加入这些内容.重启server
注意xdebug.dll必须放在zendExtensionManager.dll之前加载
[XDebug]
[debug]
;zend_extension="G:\servers\Zend\ZendServer\lib\xdebug\php-5.5.x\php_xdebug-2.2.3-5.5-vc9.dll"
zend_extension="G:\servers\Zend\ZendServer\lib\debugger\php-5.5.x\ZendDebugger.dll"
zend_extension="G:\servers\Zend\ZendServer\lib\ZendExtensionManager.dll" xdebug.show_local_vars=On
xdebug.var_display_max_data=10000
xdebug.var_display_max_depth=20 xdebug.profiler_append=0
xdebug.profiler_enable=1
xdebug.profiler_enable_trigger=0
xdebug.profiler_output_dir="G:\servers\Zend\ZendServer\tmp\xdebug"
xdebug.profiler_output_name="cachegrind.out.%t-%s" xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_host="127.0.0.1"
xdebug.remote_port=9000
xdebug.remote_log="G:\servers\Zend\ZendServer\logs\xdebug.log" xdebug.trace_output_dir="G:\servers\Zend\ZendServer\tmp\xdebug"
一、下载和安装:
在 Windows 下和 Linux 下,Xdebug 的安装方法不尽相同。本文以 Windows 下的安装来描述。在 Windows 下,通过运行 PECL 命令来安装 Xdebug,会提示以下错误:
C:\Program Files\Zend\ZendServer\bin>pecl install xdebug
downloading xdebug-2.1.0.tgz ...
Starting to download xdebug-2.1.0.tgz (301,354 bytes)
.........................done: 301,354 bytes
66 source files, building
WARNING: php_bin C:\Program Files\Zend\ZendServer\bin\.\php.exe appears to have
a suffix .exe, but config variable php_suffix does not match
ERROR: The DSP xdebug.dsp does not exist.
这是在试图编译 Xdebug 时,无法找到 xdebug.dsp 文件导致的。
-- 第一次困惑:既然不能在 Windows 下安装,为什么还能下载?错误信息只提示结果,并没有提供解决的方法。也没有提示去哪里寻找解决方案。
我们可以去 Xdebug 的官网,直接下载对应的 PHP 和 Windows 版本的、已经编译好的二进制 Xdebug 扩展库文件(*.dll)。一定要注意下载和自己安装的 PHP 及 Windows 版本对应的 Xdebug 文件。
可以通过 phpinfo() 函数获取自己的 PHP 信息(本人用的是 Zend Server 5.0.1)。注意 PHP
版本?操作系统的位数(32bit/64bit)?PHP 是线程安全的还是非线程安全的?当前加载的 php.ini 文件的路径。
PHP Version 5.3.2
System:Windows NT WIN2003-1 5.2 build 3790 (Windows Server 2003 R2 Enterprise Edition Service Pack 2) i586
Compiler:MSVC9 (Visual C++ 2008)
Architecture:x86
Loaded Configuration File:C:\Program Files\Zend\ZendServer\etc\php.ini
Thread Safety:disabled
可以看到,本人的操作系统为 Windows Server 2003 企业版,32bit 版本,PHP 版本为 5.3.2,PHP 是用微软的 Visual Studio 2008 下的 VC9 编译的。
于是,下载的 Xdebug 版本为:
Windows binaries,5.3 VC9 Non-thread-safe (32 bit),也就是 php_xdebug-2.1.0-5.3-vc9-nts.dll 文件。
-- 但是,我忽略了我使用的 PHP 环境是 Zend Server CE 5.0.1。于是,隐患就此埋下了……
二、安装配置:
在 php.ini 文件末尾加:
[Xdebug]
zend_extension="C:\Program Files\Zend\ZendServer\lib\php_xdebug-2.1.0-5.3-vc9-nts.dll"
xdebug.auto_trace=On
xdebug.collect_params=On
xdebug.collect_return=On
xdebug.trace_output_dir="C:\Program Files\Zend\ZendServer\xdebug.trace_output_dir"
xdebug.profiler_enable=On
xdebug.profiler_output_dir="C:\Program Files\Zend\ZendServer\xdebug.profiler_output_dir"
注意:
1,在 PHP5.3 里,zend_extension 不能写为 zend_extension_ts,这在 Xdebug 的官网里写的很清楚,虽然是洋文,我注意到了,没掉到陷阱里。也许 5.3 以后的版本,永远就是这样了。
2,xdebug.trace_output_dir 和 xdebug.profiler_output_dir 文件夹组要自己建立,用于存放 Xdebug 生成的文档。
3,xdebug.* = On/Off 等配置语句的意义,本文的第二部分会写。
4,配置好后,需要重新启动 Apache,对应的 Windows 服务的名字为“apache2.2-zend”。Zend Server 的后台管理里(地址http://localhost:10081/zendserver),也可以重启服务。
5,如果 php_xdebug-*.dll 文件选择错了,比如选择了 php_xdebug-2.1.0-5.3-vc6.dll,那么运行“php -v”命令,会报告:
C:\Program Files\Zend\ZendServer\bin>php -v
Cannot load Xdebug - it was built with configuration API220090626,NTS,VC6,
where as running engine is API220090626,NTS,VC9
6,php.ini 中开启了的 ZendExtensionManager.dll 和 zendOptimizer,可能会影响 Xdebug 的启用,如果有影响,请屏蔽它们。
Apache 可以正常重启。以为配置好了,但是在 phpinfo() 信息里,无法看到 Xdebug 的信息,说明 Xdebug 的 Zend 扩展模块没有被加载。这时,运行“php -v”命令,居然没有输出信息。
三、柳暗花明
再次浏览 Xdebug 官网,发现有一个贴心的服务,就是:提取用户的 phpinfo 信息,提交给 Xdebug 官网的一个程序,它立即分析 PHP 环境的信息,即刻给出下载 Xdebug 某个版本的建议。立等可取,有点意思!
于是提交我的 phpinfo 信息,从 http://www.xdebug.org/find-binary.php 页面提交,得到提示信息:
Warning: You seem to be using Zend Server, which is known to cause issues with Xdebug.
It might work, but you're on your own.
1.Download php_xdebug-2.1.0-5.3-vc9-nts.dll
2.Move the downloaded file to C:\Program
3.Open C:\Program Files\Zend\ZendServer\etc\cfg\debugger.ini and
put a ; in front of the line that says
zend_extension_manager.dir.debugger= so that it says
;zend_extension_manager.dir.debugger=
4.Edit C:\Program
Files\Zend\ZendServer\etc\php.ini and add at the begining of the file
the line zend_extension = C:\Program\php_xdebug-2.1.0-5.3-vc9-nts.dll
5.Restart the webserver
居然能看出来用的是 Zend Server 啊?实在是高啊!我下载的 Xdebug 版本是对的。但是前头的“Warning”让我心里很凉:
已知 Zend Server 与 Xdebug 一起使用会引起一些问题,能不能工作,你自己负责 - 自己看着办。
但有一条信息很重要,就是第3条,从 debugger.ini 里注释掉
zend_extension_manager.dir.debugger= 语句。注释掉该语句,意味着屏蔽了 zend debugger。看来
zend debugger 和 Xdebug 在 PHP5.3 里不能一起共存啊?以后能不能共存呢?
遵照官方的提示做了以后,Apache 可以正常启动。php -v 命令的提示如下:
C:\Program Files\Zend\ZendServer>php -v
PHP 5.3.2 (cli) (built: Apr 1 2010 17:14:41)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Zend Extension Manager v5.1, Copyright (c) 2003-2010, by Zend Technolog
ies
- with Zend Data Cache v4.0, Copyright (c) 2004-2010, by Zend Technologies [
loaded] [licensed] [disabled]
- with Zend Utils v1.0, Copyright (c) 2004-2010, by Zend Technologies [loade
d] [licensed] [enabled]
- with Zend Optimizer+ v4.1, Copyright (c) 1999-2010, by Zend Technologies [
loaded] [licensed] [disabled]
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
with Zend Data Cache v4.0, Copyright (c) 2004-2010, by Zend Technologies
with Zend Utils v1.0, Copyright (c) 2004-2010, by Zend Technologies
看来,Xdebug 是被正常加载了!
但是,大问题来了!这时打开浏览器,运行 php 文件,查看 phpinfo 信息,想看看 Xdebug 的信息。但是,这个 php 文件居然被下载下来了!!!也就是说,php 文件不被解析了!
这就意味着,安装 Xdebug 已经没有任何意义了。本来就是要让 Xdebug 跟踪 php 文件运行的有关信息嘛。
于是,在 Zend Server 5.0.1 下,安装 Xdebug 失败。
我的目的是熟悉 Xdebug 的使用,Xdebug 安装失败,我不想自己看着办。
-- 这个开源的 PHP 和 Xdebug 啊,到底是谁错了??!!
zend studio 安装xdebug的更多相关文章
- zend studio安装xdebug调试工具
1. 软件准备 登录xdebug 版本检测地址 http://xdebug.org/wizard.php :将phpinfo产生的数据页面复制到其文本框内,显示类似如下内容: 二.将下载的xdebu ...
- Zend Studio集成Xdebug断点调试详解
转自:http://www.softown.cn/post/115.html Xdebug是PHP开发中两个常用的断点调试工具之一(另一个为Zend Debugger). 现在,我们在Zend Stu ...
- 使用zend studio配置Xdebug调试PHP教程
这里看过上面的文章后写一下自己的想法. 最近安装了zend studio 10.5,下载了破解文件.开始是下载了10.0的版本,但是注册码不正确.所以只能安装最新的10.5了. 接下来进行PHP代码调 ...
- Debian(Linux)+XAMPP(LAMPP)+Zend Studio + PHP +XDebug 完整的开发环境配置方法。 转摘:http://www.cnblogs.com/kungfupanda/archive/2010/11/25/1887812.html
经历了3天左右的挣扎,终于在Linux下将 php开发工具 Zend Studio 的 xdebug安装成功,分享如下: 1,装XAMPP,安装方法链接如下:这里假设XAMPP的安装路径为:/opt/ ...
- Zend Studio安装详解
本篇文章介绍Zend Stuido安装 PHP安装请参考 http://www.cnblogs.com/azhe-style/p/php_new_env_build.html 一.下载 百度Zend ...
- Zend Studio安装和使用
Zend Studio安装和使用 工欲利其事必先利其器 1.ZendStudio 下载 下载地址:http://www.zend.com.安装就和典型的windows软件安装一样.直接next,nex ...
- zend studio 安装后一体化配置
1.安装语言包http://www.eclipse.org/babel/downloads.php 11.0的时候仍然是junohttp://download.eclipse.org/technolo ...
- zend server 和zend studio安装
zend server安装完后需要更改一个xml文件. 用记事本打开D:\Program Files\Zend\ZendServer\etc\ZendEnablerConf.xml文件. 将 锘??x ...
- Zend Studio配合Xdebug调试
以下配置均在windows环境下. 1.下载xdebug 使用phpinfo()查看当前php的版本信息: 到xdebug下载页面下载对应的xdebug版本: 将解压出的php_xdebug-2. ...
随机推荐
- CodeForces Round #290 Div.2
A. Fox And Snake 代码可能有点挫,但能够快速A掉就够了. #include <cstdio> int main() { //freopen("in.txt&quo ...
- (转)innodb 与 myisam 读写性能分析
前提: mysql在5.0之前,读写性能相差很大,读性能:myisam 很强 mysql在5.0之后,差距不是很大 http://passover.blog.51cto.com/2431658/507 ...
- POI 操作(新接口)
POI 生成XLS实例 转载至:http://www.4ucode.com/Study/Topic/697242 ackage test; import java.io.FileOutputStrea ...
- C#中数据类型的安全转换(is,as)
原文 C#中数据类型的安全转换(is,as) 下面代码中,不能装箱,在强制类型转换时出错,因为之前 c 是 class 类型,而却要把它转换为 int 类型,这是不可以的.虽然编译器能通过编译,但是 ...
- java类加载器学习2——自定义类加载器和父类委托机制带来的问题
一.自定义类加载器的一般步骤 Java的类加载器自从JDK1.2开始便引入了一条机制叫做父类委托机制.一个类需要被加载的时候,JVM先会调用他的父类加载器进行加载,父类调用父类的父类,一直到顶级类加载 ...
- e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (二) 图片验证码的识别
上一篇文章讲了“e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step 一 京东 商品搜索 ...
- 单元测试之获取Spring下所有Bean
单元测试中,针对接口的测试是必须的,但是如何非常方便的获取Spring注册的Bean呢? 如果可以获取所有的Bean,这样就可以将这个方法放到基类中,方便后面所有单元测试类的使用,具体实现如下: im ...
- 今天考试的JAVA编程题
今天早上考了java, 题目感觉还不错, 共四道题,有一道定义类的没啥意思就没列出来. 这三道题目还是不错的,特别是第一道,大一上学期学linux的时候,那时还没学C语言呢,准确的来说,还不知道什么是 ...
- 【FOI】异或问题
题意: 给出n个数ai 和m个操作 操作有两种 C x y:将ax的值改为y Q x:求几种方案使得 b1^b2^...^bn=x(ai>=bi) 题解: 先推荐一个不错的题解 题目差不多 我之 ...
- hdu4587-TWO NODES(割点)
#include <bits/stdc++.h> using namespace std; ; ; struct Edge { int to, next; } edge[M]; int h ...