我搜索并阅读了大量帖子和网站。还有 xdebug 的文档。
但是我继续在没有 xdebug 的情况下进行开发,而我确实需要它。
我遵循了一些网站的安装说明(例如:https://simplecodetips.wordpress.com/2018/07/12/instalar-xdebug-con-xampp-en-ubuntu-18-04/),但无法完成,因为我没有名为的模块启用xdebug。
我也尝试通过 PECL 安装,并添加zend_extension="/opt/lampp/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so"并指出php.ini安装完成后,将 XAMPP 添加到 PATH 中。这不起作用。
当我使用 phpinfo()、xdebug 加载页面时,它不在我执行的任何安装的结果中。
我不知道这是什么问题,也许根源在于 XAMPP 本身。
谢谢。
答案1
最后,经过大量研究后,我发现这可能是我的问题:XAMPP 64 位版本。
从这里我开始搜索有关该问题的信息并最终找到以下页面: https://weekly-geekly.github.io/articles/91575/index.html
我按照这些步骤操作(注意--with-php-conig
该帖子中的标记,它拼写错误,缺少“f”。应该是--with-php-config
)。这最终Xdebug v2.8.0beta1
在 64 位 XAMPP 7.3.5 上运行。
编辑:直接从源添加复制的步骤
Linux 上的 XAMPP + Xdebug(Linux 64 位)
所以,今天我设法将 XDebug 放在 Linux 版 XAMPP 上。如果你有 32 位 Linux,你将无法阅读剩余的文本,你有一个简单的解决方案,而不是可以在网上轻松找到的解决方案。
关于 PCP 调试器的疯狂好处甚至不需要说。在 64 位 whist / vindous7 上,hdebag 根本不想工作(whist 崩溃了;没有针对 7 的库的编译版本)
对于那些不知道的人:XAMPP - 来自 apache + mysql + php + perl + proftpd + ... 的软件包 XDebug 是 PHP 的一个库。允许您清除 PHP 上的脚本。(主要与 IDE 一起使用,例如 Eclipse + PDT。允许您设置断点、逐步调试并查看变量的内容)
如果您是通过搜索来到这里的,那么您对我的冒险和搜索不感兴趣,因此,请立即切入正题。
更新:亲爱的未来读者,如果您符合以下条件,那么本文适合您:
- 您经常需要在不同的 Web 服务器配置之间切换(例如 PHP4 / 5.2 / 5.3)或者由于其他原因您在 Linux 下使用 XAMPP。
- 您需要 XDebug
- 您有 64 位 Linux
- 当你开始阅读这篇文章时,还没有 64 位 HAMRP。
其余的,您无法阅读。我没有将 HAMRR 与其他现有解决方案进行比较,我只是拥有它,并且乐于使用它。我在网络上翻找,没有找到解决我的问题的方法,所以我决定在这里与大家分享。
系统
Linux:Ubuntu 9.10 Karmic Koala 64bit XAMPP:v1.7.1(带有 PHP 5.2.9) - 我认为对于另一个版本,该过程将非常相似。
安装 XAMPP
到这里,选择您想要的版本。 sourceforge.net/projects/xampp/文件
就我而言,这是 Linux XAMPP / 1.7.1。
我们下载文件(例如下载到~/Downloads/xampp/目录):
xampp-linux-devel-*。压缩文件:包含编译xdebug所需的头文件
xampp-linux-*。压缩文件:XAMPP
在/opt文件夹中安装Ksamp和库
# cd ~/Downloads/xampp
# sudo tar xzf xampp-linux-1.7.1.tar.gz -C /opt
# sudo tar xzf xampp-linux-devel-1.7.1.tar.gz -C /opt
下载 xdebug
从这里:xdebug.org/download.php 我们下载所需版本的源代码(我下载了 2.1.0RC0 和 2.0.5)。我下载在 ~/downloads/xdebug/
拆开
# tar xzf xdebug*
# cd xdebug*
安装其他库
说实话,我甚至不知道它们是否真的需要。但为了从 64 位编译 FF 为 32 位,这似乎是必要的
# sudo apt-get install ia32-libs gcc-multilib
配置环境变量
由于某种原因,phpize 断然拒绝工作,抱怨$ PHP_AUTOCONFIG和$ PHP_AUTOHEADER没有以下的东西:
使用编辑器打开:
~/.bashrc
最后我们添加这一行:
export PATH=/opt/lampp/bin:$PATH
现在在 shell 中:
# export PATH=/opt/lampp/bin:$PATH
# export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig
# export CC="gcc -m32"
# export CXX="g++ -m32"
我们收集了 32 位的 Xdebug
# phpize
# ./configure --enable-xdebug --with-php-config=/opt/lampp/bin/php-config --x-libraries=/usr/lib --target=i686-pc-linux
# make
我们将文件夹复制到 Ksamp (注我:我不知道 Ksamp 是什么,以及为什么这里需要它。无论如何,请执行此步骤,因为它基本上是使 xDebug 在您的 XAMPP 上工作的文件。)
# sudo cp modules/xdebug.so /opt/lampp/lib/php/extensions/
配置 PHP
# sudo gedit /opt/lampp/etc/php.ini
打开库(我在第 545 行添加了这个)
zend_extension="/opt/lampp/lib/php/extensions/xdebug.so"
启动/重启并检查
# sudo /opt/lampp/lampp restart
# /opt/lampp/bin/php -i | grep xdebug
xdebug
xdebug support => enabled
xdebug.auto_trace => Off => Off
xdebug.collect_includes => On => On
xdebug.collect_params => 0 => 0
xdebug.collect_return => Off => Off
xdebug.collect_vars => Off => Off
xdebug.default_enable => On => On
xdebug.dump.COOKIE => no value => no value
xdebug.dump.ENV => no value => no value
...
..
调试愉快!
PS:你可以从〜/ .bashrc中删除添加的行
要查看是否已启用 xDebug,请转到 XAMPP 仪表板,或在您的文档小路:
<?php phpinfo(); ?>
在您的网络浏览器中加载 -> CTRL+A -> CTRL+C ->转到 xDebug 向导-> 将其粘贴到文本区域中并单击分析我的 phpinfo() 输出查看您是否已启用。