为了调试PHP程序,安装一下xdebug.

官方网址: http://www.xdebug.org

首先下载xdebug2.1.0,在官方首页下载源代码,下载回来的文件名是:xdebug-2.1.0.tgz
xdebug的版本需与您的php版本相对应,由于偶的php是5.3.2,所以下载xdebug2.1.0

Xml代码  
  1. cd /your/download/path
  2. tar zxvf xdebug-2.1.0.tgz
  3. cd xdebug-2.1.0

运行phpize

Xml代码  
  1. phpize

如果没有将phpize加入$PATH,则应该使用全路径

这里不需要--prefix,编译好之后直接把modules里的xdebug.so文件复制走即可。

Xml代码  
  1. ./configure --enable-xdebug
  2. --with-php-config =/usr/local/php/bin/php-config
Xml代码  
  1. make

把xdebug.so复制到了php安装目录,装php的时候指定了安装目录,所以复制到/usr/local/php/xdebug里。随便你复制到哪都行,只要你清楚知道。。。需要改下面一条命令的路径为你自己的。

Xml代码  
  1. cp modules/xdebug.so /usr/local/php/xdebug

把下面这行添加到php.ini文件的最后。如果您定义过php.ini的存放位置,一定要找到位置哦,建议弄个phpinfo(),查看到php.ini文件的具体位置。我的位置是在:/usr/local/etc/php.ini

添加下面内容:

Xml代码  
  1. [Xdebug]
  2. zend_extension  = "/usr/local/php5/xdebug/xdebug.so"
  3. xdebug.profiler_enable = on
  4. xdebug.trace_output_dir = "/usr/local/php5/xdebug/"
  5. xdebug.profiler_output_dir = "/usr/local/php5/xdebug/"
  6. xdebug.remote_enable = on
  7. xdebug.remote_handler = dbgp
  8. ;xdebug.remote_host = localhost
  9. xdebug.remote_port = 9999

注意,如果您安装过zend optimizer 那么,注意您的php.ini文件中是否已存在zend_extension= ,如果已经存在,请注释掉,在zend_extension=前加上; ,示例:

;zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so"
这样,才可以正常安装运行好xdebug.

重启你的web服务器。
接下来打开phpinfo(),看看里面是否有xdebug的信息了。
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
     with Xdebug v2.0.2, Copyright (c) 2002-2007, by Derick Rethans

可能遇到的问题
1.Cannot find autoconf
/usr/local/php/bin/phpize
提示

Xml代码  
  1. Configuring for:
  2. PHP Api Version:         20041225
  3. Zend Module Api No:      20060613
  4. Zend Extension Api No:   220060519
  5. Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
  6. environment variable is set correctly and then rerun this script.

源代码目录下也没有生成configure
需安装两个软件包

Xml代码  
  1. imake-1.0.2-3.i386.rpm
  2. autoconf-2.59-12.noarch.rpm

2.configure: error: Cannot find php-config

Xml代码  
  1. ./configure  --with-php-config =/usr/local/php/bin/php-config

# 这里如果直接执行./configure很有可能会报错

# "configure: error: Cannot find php-config. Please use --with-php-config=PATH",
# 你的配置文件位置可能不在这个目录,这个文件通常是在php安装目录的bin目录下的一个文件名叫做php-config或者php-config5的文件,实在找不到就find一下咯

参考资料

http://www.xdebug.org/docs/install http://www.eclipse.org/pdt/documents/XDebugGuide.pdf


http://hi.baidu.com/zxm_xdl/blog/item/bbed77f0d9856aa7a50f52e9.html


http://hi.baidu.com/156544632/blog/item/a6b941d8fb55433332fa1c41.html


http://www.187299.com/archives/978

Linux下用Xdebug调试php相关推荐

  1. 一份简单的在 Linux下编译及调试 C 代码的指南

    摘要: 一份简单的在 Linux下编译及调试 C 代码的指南 对于Linux下的C程序员来说,几乎天天都会和Linux打交道.但在很多人的眼中,Linux是一个易用性极差.靠命令驱动的操作系统,根本无 ...

  2. linux中多进程调试,linux下用gdb调试多进程

    今天来学习一下linux下gdb如何调试多进程,在学习之前我我们能先看一张表: 这张表是gdb调试的命令表,这对那些对gdb不熟的同学来说是非常有必要的. 一.多进程调试的命令 1.set follo ...

  3. Linux下的程序调试——GDB

    无论是多么优秀的程序员,都难以保证自己在编写代码时不会出现任何错误,因此调试是软件开发过程中的一个必不可少的 组成部分.当程序完成编译之后,它很可能无法正常运行,或者会彻底崩溃,或者不能实现预期的功能 ...

  4. Linux下获取xml调试信息等级

    Linux下获取XML调试信息等级 #ifndef _LOG_H_ #define _LOG_H_#include <stdio.h> #include <string.h> ...

  5. Linux下Chelsio T5调试方法

    T5是Chelsio的网络芯片,具体的硬件参数可以参考<Chelsio T5 HW Debug Guide V1.02.pdf>文档,如有需要请留言留下你的邮箱,我发给你. 现在我们着重讲 ...

  6. Linux下用eclipse调试C++并行程序(MPI)

    Linux下用eclipse调试C/C++并行程序(单机MPI) 并行调试工具 很多人调试MPI程序都是用print的,这里有一篇介绍的文章:https://segmentfault.com/a/11 ...

  7. linux单步调试方法,linux下gdb单步调试(中).doc

    linux下gdb单步调试(中) linux下gdb单步调试(中) linux下gdb单步调试(中) 一.设置断点( BreakPoint ) 我们用 break 命令来设置断点.正面有几点设置断点的 ...

  8. linux i2c调试命令,嵌入式Linux下I2C接口调试

    By Toradex秦海 1).简介 I2C是嵌入式设备最为常用的接口之一,常用于如下面这些应用场景,因此本文就基于嵌入式Linux演示在User Space进行I2C设备调试. - Digital ...

  9. linux下使用gdb调试崩溃和死锁实例

    gdb是linux下一款功能强大的调试工具,windows下对应的有windbg,下面举例说明常见程序错误解决方法 1.gdb启动 要想使用gdb调试,编译时指定-g选项加入调试信息,gdb可以启动执 ...

最新文章

  1. Linux Shell的输入彩色字体
  2. python网络编程—Socket
  3. 【若依(ruoyi)】自定义的数据选择对话框
  4. 织梦dede模板|白绿色户外拓展教育培训网站织梦dede模板源码[带手机版数据同步]
  5. Go bufio.Reader 结构+源码详解
  6. bomb android实战,android 仿qq app源码下载(bmob)
  7. 男女薪酬差异扩大 2018年女性薪酬不及男性8成?
  8. php的limit分页,用php数组的array_slice分页和用limit查询分页哪个效率更高?
  9. 大数据之-Hadoop3.x_Hadoop_HDFS_掉线时限参数设置---大数据之hadoop3.x工作笔记0079
  10. php验证手机号码 函数,PHP 匹配电话,手机,400号码 函数 及正则。很管用。
  11. 怎么把文本文档变成html,如何将word文档转换成txt文本
  12. 网易云音乐服务器code521,网易云音乐scode500是怎么回事 网易云音乐scode502怎么解决...
  13. 检测卡常见错误代码:01、C1~C5、0D
  14. 【数据库系统】考虑题4所示的日志记录,假设开始时A、B、C的值都是0 (1) 如果系统故障发生在14之后,写出系统恢复后A、B、C的值
  15. Webpack中 CDN加速
  16. Docker 学习笔记(八)-- Dockerfile 构建CentOS 实战测试
  17. Android app 后台被杀恢复
  18. 中央大学计算机学什么,中央大学讲解
  19. 计算机一级wps表格函数,WPS表格函数学习之公式大全(字母顺序).pdf
  20. 2075最少拦截系统

热门文章

  1. Java 16 正式发布!你还学得动吗?
  2. 聊一聊:Service层你觉得有用吗?
  3. 超卖 100 瓶茅台的事故分析
  4. 一语点破 Java 中的静态 static 关键字
  5. 如何去除 IDEA 中 xml 文件的屎黄色背景
  6. 每日一皮:程序员职业服装!
  7. 作为一名Java程序员,这些Spring知识点面试官常考
  8. 用了那么多年MySQL不知道Explain?怪不得性能那么差!
  9. Spring Cloud Data Flow 中的 ETL
  10. 数据库之字段数据类型