Linux 上的 XAMPP + Xdebug(Linux 64 位)

Linux 上的 XAMPP + Xdebug(Linux 64 位)

我搜索并阅读了大量帖子和网站。还有 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() 输出查看您是否已启用。

相关内容