1. Linux下用Xdebug调试php
  2.  
  3. 博客分类: php
  4. PHPLinuxZendEclipseC#
  5. 为了调试PHP程序,安装一下xdebug.
  6.  
  7. 官方网址: http://www.xdebug.org
  8.  
  9. 首先下载xdebug2.1.0,在官方首页下载源代码,下载回来的文件名是:xdebug-2.1.0.tgz
  10. xdebug的版本需与您的php版本相对应,由于偶的php5.3.2,所以下载xdebug2.1.0
  11.  
  12. Xml代码 收藏代码
  13. cd /your/download/path
  14. tar zxvf xdebug-2.1.0.tgz
  15. cd xdebug-2.1.0
  16.  
  17. 运行phpize
  18. Xml代码 收藏代码
  19. phpize
  20.  
  21. 如果没有将phpize加入$PATH,则应该使用全路径
  22.  
  23. 这里不需要--prefix,编译好之后直接把modules里的xdebug.so文件复制走即可。
  24. Xml代码 收藏代码
  25. ./configure --enable-xdebug
  26. --with-php-config=/usr/local/php/bin/php-config
  27.  
  28. Xml代码 收藏代码
  29. make
  30.  
  31. xdebug.so复制到了php安装目录,装php的时候指定了安装目录,所以复制到/usr/local/php/xdebug里。随便你复制到哪都行,只要你清楚知道。。。需要改下面一条命令的路径为你自己的。
  32. Xml代码 收藏代码
  33. cp modules/xdebug.so /usr/local/php/xdebug
  34.  
  35. 把下面这行添加到php.ini文件的最后。如果您定义过php.ini的存放位置,一定要找到位置哦,建议弄个phpinfo(),查看到php.ini文件的具体位置。我的位置是在:/usr/local/etc/php.ini
  36.  
  37. 添加下面内容:
  38. Xml代码 收藏代码
  39. [Xdebug]
  40. zend_extension ="/usr/local/php5/xdebug/xdebug.so"
  41. xdebug.profiler_enable=on
  42. xdebug.trace_output_dir="/usr/local/php5/xdebug/"
  43. xdebug.profiler_output_dir="/usr/local/php5/xdebug/"
  44. xdebug.remote_enable=on
  45. xdebug.remote_handler=dbgp
  46. ;xdebug.remote_host=localhost
  47. xdebug.remote_port=9999
  48.  
  49. 注意,如果您安装过zend optimizer 那么,注意您的php.ini文件中是否已存在zend_extension= ,如果已经存在,请注释掉,在zend_extension=前加上; ,示例:
  50. ;zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so"
  51. 这样,才可以正常安装运行好xdebug.
  52.  
  53. 重启你的web服务器。
  54. 接下来打开phpinfo(),看看里面是否有xdebug的信息了。
  55. This program makes use of the Zend Scripting Language Engine:
  56. Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
  57. with Xdebug v2.0.2, Copyright (c) 2002-2007, by Derick Rethans
  58.  
  59. 可能遇到的问题
  60. 1.Cannot find autoconf
  61. /usr/local/php/bin/phpize
  62. 提示
  63. Xml代码 收藏代码
  64. Configuring for:
  65. PHP Api Version: 20041225
  66. Zend Module Api No: 20060613
  67. Zend Extension Api No: 220060519
  68. Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
  69. environment variable is set correctly and then rerun this script.
  70.  
  71. 源代码目录下也没有生成configure
  72. 需安装两个软件包
  73. Xml代码 收藏代码
  74. imake-1.0.2-3.i386.rpm
  75. autoconf-2.59-12.noarch.rpm
  76.  
  77. 2.configure: error: Cannot find php-config
  78. Xml代码 收藏代码
  79. ./configure --with-php-config=/usr/local/php/bin/php-config
  80.  
  81. # 这里如果直接执行./configure很有可能会报错
  82. # "configure: error: Cannot find php-config. Please use --with-php-config=PATH",
  83. # 你的配置文件位置可能不在这个目录,这个文件通常是在php安装目录的bin目录下的一个文件名叫做php-config或者php-config5的文件,实在找不到就find一下咯

  

Linux下用Xdebug调试php的更多相关文章

  1. linux下多进程的调试

    linux下多进程的调试:  (1)follow-fork-mode           set follow-fork-mode [parent | child] ---- fork之后选择调试父进 ...

  2. Linux下的反调试技术

    Linux下的反调试技术 2014年01月30日 ⁄ 综合 ⁄ 共 2669字 ⁄ 字号 小 中 大 ⁄ 评论关闭 转自  http://wangcong.org/blog/archives/310 ...

  3. Ubuntu\Linux 下编写及调试C\C++

    一.在Ubuntu\Linux 下编写及调试C\C++需要配置基本的环境,即配置gcc编译器.安装vim编译器,具体配置安装步骤我在这里就不多说了. 二.基本环境配置完了我们就可以进入自己的程序编写了 ...

  4. linux下core文件调试方法

    http://www.cnblogs.com/li-hao/archive/2011/09/25/2190278.html 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映 ...

  5. linux下core文件调试方法(转载)

    转自于:http://blog.csdn.net/fcryuuhou/article/details/8507775 在程序遇到段错误不寻常退出时,一般是访问内存出错.但是不会给出程序哪里出现的问题, ...

  6. linux下thinkphp取消调试模式后找不到网页解决方案

    1.最大嫌疑是Runtime目录权限不足,导致common~runtime.php文件无法生成, 解决:1.整个Runtime目录删除,让系统重新生成; 2.给Runtime及以下的所有文件足够权限0 ...

  7. [转载] Linux 下产生和调试core文件

    原地址:http://blog.csdn.net/shaovey/article/details/2744487 linux下如何产生core,调试core 在程序不寻常退出时,内核会在当前工作目录下 ...

  8. Linux下性能测量和调试诊断工具Systemtap

    一.简介 SystemTap是一个诊断Linux系统性能或功能问题的开源软件.它使得对运行时的Linux系统进行诊断调式变得更容易.更简单.有了它,开发者或调试人员不再需要重编译.安装新内核.重启动等 ...

  9. linux下的程序调试方法汇总

    搞电子都知道,电路不是焊接出来的,是调试出来的.程序员也一定认同,程序不是写出来的,是调试出来的.那么调试工具就显得尤为重要,linux作为笔者重要的开发平台,在linux中讨论调试工具主要是为那些入 ...

随机推荐

  1. Java之浅拷贝与深拷贝

    ----?浅拷贝 --- 概念 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.简单说,浅拷贝就是只复制所考虑的对象,而不复制它所引用的对象 --- 实现方 ...

  2. 19. REFERENTIAL_CONSTRAINTS

    19. REFERENTIAL_CONSTRAINTS REFERENTIAL_CONSTRAINTS表提供有关外键的信息. REFERENTIAL_CONSTRAINTS有以下列: CONSTRAI ...

  3. python基础知识03-格式化输出和深浅复制

    VIM中HJKL可以上下左右移动光标. 格式化输出和深浅复制 1.字符串的拼接和格式化 sudo pip3 install ipython 安装 ipython 进入 字符串相加 str1 + str ...

  4. 学习PyQuery库

    学习PyQuery库 好了,又是学习的时光啦,今天学习pyquery 来进行网页解析 常规导入模块(PyQuery库中的pyquery类) from pyquery import PyQuery as ...

  5. LeetCode(101)Symmetric Tree

    题目 Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). Fo ...

  6. Java学习之接口概念

    Java语言只支持单重继承,不支持多继承,即一个类只能有一个父类.但是在实际应用中,又经常需要使用多继承来解决问题.为了解决该问题,Java语言提供接口来实现类的多继承问题. 接口(英文interfa ...

  7. jQuery+ajax城市联动

    分享一下自己最近写的城市联动.技术使用ajax+jQuery实现. 首先请看前台的javascript代码. 以下是连个实现异步加载的方法. <script type="text/ja ...

  8. RobotFramework:切换页面和Frame框架

    切换页面主要有以下两种情况 在浏览器上打开多个窗口(Windows),在窗口内切换 打开多个浏览器(Browser),在多个浏览器内切换 1. 切换窗口 该操作适用于:打开两(多)个窗口页面,在打开的 ...

  9. python蛋疼的编码decode、encode、unicode、str、byte的问题都在这了

    相信很多人和我一样,被python蛋疼的编码问题纠缠不清,比如下面的 私以为出现这种错误的原因还是对一些基本的编解码概念不够熟悉,下面就说说我的理解: 首先python刚出来的时候unicode还没有 ...

  10. POJ-3100-Root of the Problem,原来是水题,暴力求解~~~

    Root of the Problem Time Limit: 1000MS   Memory Limit: 65536K               http://poj.org/problem?i ...