如何在Ubuntu 12.04上使用Eclipse和XAMPP设置PHP调试?

7

我一直在尝试配置这个东西,但是我无法使它正常运行。到目前为止完成的工作:

  • Downloaded the latest version of xampp and moved it to /opt/lampp
  • Installed php5-xdebug with apt-get
  • Changed implicit_flush to On in /opt/lampp/etc/php.ini
  • Added the following lines to the end of the ini file:

    [xdebug]
    zend_extension="/usr/lib/php5/20090626/xdebug.so"
    xdebug.remote_enable=1
    xdebug.remote_handler="dbgp"
    xdebug.remote_port=9000
    xdebug.remote_host="localhost"
    
我已经确保重新启动了Apache,但在显示phpinfo();时仍然没有xdebug部分。
我认为Eclipse已经正确配置,但在成功运行xdebug之前我无法确定。
请帮忙,所有建议都非常受欢迎!
编辑:
这是phpinfo()的输出:http://www.pasteall.org/35930 更新:
我已经下载了Xampp 1.8.1(之前是xampp 1.8.0),安装到了/opt/lampp并添加了相应的开发文件。 我已经按照http://xdebug.org/wizard.php指南自己编译了Xdebug,并通过/opt/lampp/bin/pecl安装了xdebug。
现在我的php.ini看起来像这样:
zend_extension = "/opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_host = "localhost"
xdebug.remote_handler = "dbgp"

我不知道该怎么办,http://xdebug.org/wizard.php 仍然报告说 Xdebug 没有安装。这可能是权限问题吗?目前扩展的权限如下:
-rwxr-xr-x 1 niklas niklas  88376 Sep 30 10:43 interbase.so
-rwxr-xr-x 1 niklas niklas 184920 Sep 30 10:43 oci8.so
-rwxr-xr-x 1 niklas niklas 118592 Sep 30 10:43 pgsql.so
-rwxr-xr-x 1 niklas niklas 830886 Oct 10 15:10 xdebug.so

它们是否应该由其他人拥有?我是否需要在php.ini中启用任何其他选项?这是我的phpinfo()的当前输出:http://www.pasteall.org/36135


你能否将phpinfo的完整输出粘贴到某个地方? - Petah
我已经在问题的“编辑”部分中链接了完整的输出。感谢您尝试解决这个问题! - Niklas
你可不可以直接使用 apt-get 安装所需的内容,而不是使用 xampp? - Petah
更改 PHP 配置后,您是否重新启动了 Apache? - Artjom Kurapov
是的,我决定只使用常规的LAMPP安装,并禁用服务的自动启动。 - Niklas
显示剩余2条评论
4个回答

1

定制安装说明

摘要

  • Xdebug已安装:
  • 服务器API:Apache 2.0处理程序
  • Windows系统:
  • Zend Server:
  • PHP版本:5.4.4
  • Zend API编号:220100525
  • PHP API编号:20100525
  • 调试构建:
  • 线程安全构建:
  • 配置文件路径:/opt/lampp/etc
  • 配置文件:/opt/lampp/etc/php.ini
  • 扩展目录:/opt/lampp/lib/php/extensions/no-debug-non-zts-20100525
  • 说明

    1. 下载xdebug-2.2.1.tgz
    2. 使用tar -xvzf xdebug-2.2.1.tgz解压下载的文件
    3. 运行:cd xdebug-2.2.1
    4. 运行:phpize

      它的输出应该显示为:

      Configuring for:
      ...
      Zend Module Api No:      20100525
      Zend Extension Api No:   220100525
      

      如果没有显示,您可能使用了错误的phpize。请参考this FAQ entry并跳过下一步。

    5. 运行:./configure
    6. 运行:make
    7. 运行:cp modules/xdebug.so /opt/lampp/lib/php/extensions/no-debug-non-zts-20100525
    8. 编辑/opt/lampp/etc/php.ini并添加以下行
      zend_extension = /opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so
    9. 重新启动Web服务器

    http://xdebug.org/wizard.php


    我按照指南进行操作,但是 http://xdebug.org/wizard.php 上的向导仍然显示它没有安装 :/ - Niklas
    请看一下我问题的更新,看看你是否知道问题出在哪里 :) - Niklas
    你是否尝试根据http://stackoverflow.com/questions/2168411/installing-xdebug-for-php-on-ubuntu-with-xampp的建议告诉`configure`你的lamp路径在哪里?./configure --enable-xdebug --with-php-config=/opt/lampp/bin/php-config然而,在Ubuntu上通过tasksel轻松设置LAMP堆栈:http://www.unixmen.com/install-lamp-with-1-command-in-ubuntu-1010-maverick-meerkat/ - George

    1
    请查看以下网址,我认为它对您非常有帮助。

    http://www.edmondscommerce.co.uk/ubuntu/ubuntu-xampp-xdebug-install/

    http://www.webhelp2u.com/article/install-xdebug-on-lampp

    https://stackoverflow.com/questions/9640912/problems-setting-up-eclipse-with-xdebug

    阅读:

    在 Linux 上安装 XDebug(LAMPP 或 XAMPP)

    http://www.edmondscommerce.co.uk/ubuntu/ubuntu-xampp-xdebug-install/

    http://www.webhelp2u.com/article/install-xdebug-on-lampp

    在LAMPP上安装XDebug
    1. 从网站http://www.apachefriends.org/en/xampp-linux.html下载最新版本的 XAMPP For Linux。

    2. 安装它。要安装 lampp,请将其提取并放入 /opt 目录。

    3. 从同一网站上下载开发包。

    4. 将其提取,将 Development package 中的 "include" 文件夹复制并粘贴到 /opt/lampp 目录中(此包用于编译 XDebug 源代码)。

    5. 运行命令 /opt/lampp/bin/pecl update-channels,这将更新本地计算机上的 pecl 渠道数据库。

    6. 运行命令 /opt/lampp/bin/pecl install Xdebug,并等待完成过程。

    7. 现在 xdebug.so 文件已经创建在 /opt/lampp/lib/php/extensions/ 目录中。

    8. 现在打开 php.ini 文件,在文件末尾添加一行 zend_extension="/opt/lampp/lib/php/extensions/path_to_xdebug.so"。

    9. 重新启动 Lampp 并使用 phpinfo(); 检查是否已启用。

    在您的评论后更新我的答案

    请查看下面的URL,我认为它对您非常有帮助。

    在Ubuntu中为PHP5设置Xdebug

    http://gayanhewa.info/setup-xdebug-php5-ubuntu/


    我按照指南操作,但是 http://xdebug.org/wizard.php 上的向导仍然显示它没有安装 :/ - Niklas
    请看一下我问题的更新,看看你是否知道问题出在哪里 :) - Niklas
    请查看以下网址,我认为它对您非常有帮助。http://www.edmondscommerce.co.uk/ubuntu/ubuntu-xampp-xdebug-install/ - Abid Hussain
    我已经阅读了你在回答中提供的链接页面,它们描述的过程与你所说的完全相同,但并没有起作用。请参考我问题中的“更新”部分,以了解我尝试解决问题的情况。 - Niklas
    你在开玩笑吗?你刚刚复制了另一个与我的问题完全无关的问题的答案! - Niklas

    1

    由于没有迹象表明为什么它不起作用,我已经放弃了xampp,并安装了一个常规的lamp服务器,并通过apt-get安装了xdebug。我禁用了mysql和apache2在启动期间运行,以便如果我不想要它们,它们就不会运行。这里有一个非常简单的教程,介绍如何使用Eclipse启用xdebug调试:http://www.web-brainz.co.uk/Xdebug

    其他答案肯定对其他用户最合适,但不幸的是它们没有解决我的问题。非常感谢您的帮助!


    0
    • 在新的Ubuntu 12.04上运行:

    apt-get install php5-xdebug

    • 检查xdebug是否已安装:

    php --version

    它看起来像这样:

    root@ubuntu-SandBox:/var/www# php --version PHP 5.3.10-1ubuntu3.19 with Suhosin-Patch (cli) (built: Jul 2 2015 15:05:04) 版权所有 (c) 1997-2012 PHP Group Zend Engine v2.3.0,版权所有 (c) 1998-2012 Zend Technologies 使用Xdebug v2.1.0,版权所有 (c) 2002-2010,作者Derick Rethans root@ubuntu-SandBox:/var/www#

    • 修改php.ini以加载Xdebug运行:

    vi /etc/php5/apache2/php.ini

    并在文件底部添加:

    [xdebug]

    xdebug.remote_enable=1

    xdebug.remote_handler="dbgp"

    xdebug.remote_port=9000

    /* 这是您的 PHPstorm IDE 机器的 IP 地址。 */

    xdebug.remote_host="10.70.111.11"

    • 重新启动您的服务器:

    service apache2 restart

    • 现在您的服务器已准备好供客户端IDE机器连接。

    • 以下是如何配置PHPSTORM:

    请按照JetBrain的指示https://confluence.jetbrains.com/display/PhpStorm/Validating+Your+Debugging+Configuration进行操作。

    或者

    在菜单栏中选择“运行”=>“Web服务器调试验证”,您将看到类似于以下内容:

    enter image description here

    • 如果你没有看到黄色,而是全部都是蓝色,那就说明没问题了!
    • 从这里安装 Chrome 扩展程序 xdebug helper:

    https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc?hl=en

    • 点击启用此扩展,调试会话将在浏览器中开始,并且bug图标会变为绿色。

    • 然后在IDE中运行 => 监听php调试连接。

    • 在源代码中设置断点

    • 加载您的php页面(webapp),它将停止在断点处。

    完成。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接