在Ubuntu LAMP堆栈上安装xdebug

时间:2017-03-01 21:04:02

标签: php ubuntu-14.04 xdebug

我一直在抛出此错误,但我安装了7.1.2版。为什么我不能./configure

这是我的错误消息:

checking whether to enable Xdebug support... yes, shared
checking Check for supported PHP versions... configure: error: not supported. 
Need a PHP version >= 7.0.0 and < 7.3.0 (found 5.3.10-1ubuntu3.26)
    root@precise32:/var/www/xdebug# php -v
    PHP 7.1.2-3+deb.sury.org~precise+1 (cli) (built: Feb 22 2017 10:29:40) ( NTS )
    Copyright (c) 1997-2017 The PHP Group
    Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
        with Zend OPcache v7.1.2-3+deb.sury.org~precise+1, Copyright (c) 1999-2017, by Zend Technologies
    root@precise32:/var/www/xdebug# 

有没有其他人遇到过这个问题。我尝试过重新安装php 7.0和其他一些策略。仔细阅读一堆不同的堆栈问题,但我无法弄清楚。

这意味着我无法继续:make

make install

cp modules/xdebug.so /etc/php.d/xdebug.so

1 个答案:

答案 0 :(得分:4)

你正在使用OndřejSurý的PPA。因此,您可以使用apt-get install php7.1-xdebug轻松安装xdebug。

编辑:如何配置Xdebug(在基于Ubuntu的Linux系统上):

创建一个ini文件/etc/php/7.1/mods-available/custom.ini并将以下配置放入其中:

; priority=90
[xdebug]
xdebug.remote_enable=1
; replace <Host-IP-Address> with the IP of your host system!
xdebug.remote_host=<Host-IP-Address>
; You'll need this later.
xdebug.idekey=PHPSTORM
xdebug.profiler_enable_trigger=1

现在使用命令sudo phpenmod -v 7.1 -s ALL custom激活配置。不要忘记重新启动Web服务器。

其次,您需要一个支持dbgp协议的IDE。我使用PhpStorm,速度很快(即使它运行了几个小时),因此它有一个原生的Xdebug支持。

在设置IDE并在代码中设置至少一个断点后,可以非常简单地触发调试器:

第一个选项:添加查询参数XDEBUG_SESSION_START=PHPSTORM(其中PHPSTORM是配置文件中xdebug.idekey设置的值。)

第二个选项:根据您的请求发送包含内容XDEBUG_SESSION=PHPSTORM的Cookie。 cURL示例:curl -H 'Cookie: XDEBUBG_SESSION=PHPSTORM' http://my-awesome.domain/awesome-script.php

如果您正确设置了任何内容,现在可以使用Xdebug。

Xdebug - Documentation
PhpStorm - Configuring Xdebug
PhpStorm - Zero-configuration Web Application Debugging with Xdebug and PhpStorm

最后但并非最不重要的是,一些很好的Xdebug设置:

; enable colors for the command-line interface
xdebug.cli_color=1

; show more data when using var_dump
xdebug.max_nesting_level=500
xdebug.var_display_max_children=512
xdebug.var_display_max_data=2560
xdebug.var_display_max_depth=200

; enable trigger for easy profiling
xdebug.profiler_enable_trigger=1

有很好的调试会话:)