IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Ubuntu 下为 PHP 添加 Xdebug 插件

小小子,simaopig 2010-06-02 23:02:13 累计浏览 3,346 次
本机暂存

Xdebug插件是调试PHP代码的利器,可以很方便的指出你语法中的错误。但是在Ubuntu下面我一直没有安装这个插件,原因只有一个字――懒。

以为简简单单的任务,可实际安装过程中却也经历了许多痛楚,记录一下,增强回忆。

运行phpize错误

首先下载Xdebug,根据经验,最新版往往会让你遇到很多痛不欲生的问题,且大多没有解决办法。所以我选择了2.0.5一个老版本。

关于如何安装这个插件,官网给了我们很多方法,包括编译安装和PECL安装等。有兴趣的可以移步这里:http://www.xdebug.org/docs/install

想使用三把斧――configure、make、makesintall

遇到了问题,貌似提示是说phpize有问题,没有理会,换作PECL安装,仍然有问题,不理不行了。提示如下:

ERROR: `phpize’ failed

苦苦搜索,别说还真有一哥们和我一样郁闷,他也遇到了问题,同时,有好心人帮助他解决了问题,http://ubuntuforums.org/showthread.php?t=275240

貌似是因为php-config没有覆盖Ubuntu自带的php-config之类的,而且应该使用phpize5,啥也不说了。

sudo apt-get install phpize5

./configure --enable-xdebug --with-php-config=/usr/bin/php-config5

sudo make

编译完成了,需要将modules/目录下的xdebug.so拷走,放在一个靠谱的位置,同时编译php.ini就OK了。但是我仍然遇到了两个问题:

  1. 到底哪个目录看起来靠谱呢?
  2. 貌似我没有找到我的php.ini放在哪里了?

将扩展文件拷在哪个目录

这个问题,后来我发现还是不难解决的,写了一个phpinfo页面,发现有extension_dir选项。

phpinfo extension dir

phpinfo extension dir

那还考虑啥,放这,放这肯定靠谱,没有目录不要紧,咱创建啊。。呼-_-!!!

找不到php.ini

左看右看,上看下看,我怎么还是找不到php.ini的位置?

在phpinfo中,发现Configuration File (php.ini) Path写的是/usr/local/lib,但是该目录下面没有php.ini文件啊?奇怪。再仔细一瞧,原来门道在这里。

Loaded Configuration File (none)

根本就没有这个文件,看来是我当时编译php的时候的问题了。去我的php源文件目录(make之后我没有删),将配置文件拷到/usr/local/lib下面。

同时编译php.ini将xdebug.so放入其中

zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so

实例检测

重启Apache后,phpinfo里面已经含有了xdebug的信息,那么咱们再来写个小demo检测一下效果。

phpinfo_xdebug01

phpinfo_xdebug01

phpinfo_xdebug02

phpinfo_xdebug02

<?php
    var_dump($xxx);
?>
xdebug

xdebug

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 使用gettext来支持PHP的多语言 (累计阅读 39,270)
  2. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,164)
  3. Paypal接口详细代码(PHP版,非API接口) (累计阅读 19,408)
  4. 我的PHP,Python和Ruby之路 (累计阅读 13,150)
  5. include(“./file.php”)和include(“file.php”)区别 (累计阅读 12,790)
  6. 15个最好的免费开源电子商务平台 (累计阅读 12,541)
  7. Redis消息队列的若干实现方式 (累计阅读 12,088)
  8. 到底什么是MVC? (累计阅读 11,869)
  9. 整理了一份招PHP高级工程师的面试题 (累计阅读 11,709)
  10. Rolling cURL: PHP并发最佳实践 (累计阅读 11,488)