如何在Ubuntu上安装Xdebug?

问题描述 投票:0回答:8

我正在尝试在 Ubuntu 上安装

xdebug

sudo apt-get install php-xdebug

并出现以下错误:

需要获取 806 kB 的档案。此操作后,4.423 kB 将使用额外的磁盘空间。错误:1 http://ppa.launchpad.net/ondrej/php/ubuntu artful/main amd64 php-xdebug amd64 2.5.5-3+ubuntu17.10.1+deb.sury.org+1 404 未找到 E:获取失败 http://ppa.launchpad.net/ondrej/php/ubuntu/pool/main/x/xdebug/php-xdebug_2.5.5-3+ubuntu17.10.1+deb.sury.org+1_amd64.deb 404 Not Found E:无法获取某些档案,可能运行 apt-get 更新或尝试使用--fix-missing?

我该如何解决这个问题?

php xdebug
8个回答
60
投票

首先,您需要使用以下命令更新本地软件包:

sudo apt update
# OR
sudo apt-get update

现在您可以使用以下命令安装

xdebug

sudo apt install php-xdebug

并将其配置为:

sudo nano /etc/php/7.0/mods-available/xdebug.ini

添加以下代码:

zend_extension=/usr/lib/php/20151012/xdebug.so
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
xdebug.remote_log = /tmp/xdebug_remote.log
xdebug.remote_mode = req
xdebug.remote_port = 9005 #if you want to change the port you can change 

注意:目录

20151012
很可能与您不同。
cd
进入
/usr/lib/php
并检查此格式的哪个目录中有
xdebug.so
文件并使用该路径。

然后重新启动服务:

sudo systemctl restart php7.0-fpm
sudo systemctl restart nginx # If you are using nginx server
sudo systemctl restart apache2 # If you are using apache server

12
投票

我使用以下方法并且有效 从 php info 检索内容

$ php -i> info.txt

复制info.txt文件中的所有文本然后进入xdebug 安装向导 并遵循那里可用的排名。

看起来像这样

Download xdebug-2.7.2.tgz
Install the pre-requisites for compiling PHP extensions.
On your Ubuntu system, install them with: apt-get install php-dev autoconf automake
Unpack the downloaded file with tar -xvzf xdebug-2.7.2.tgz
Run: cd xdebug-2.7.2
Run: phpize (See the FAQ if you don't have phpize).

As part of its output it should show:

Configuring for:
...
Zend Module Api No:      20170718
Zend Extension Api No:   320170718
If it does not, you are using the wrong phpize. Please follow this FAQ entry and skip the next step.

Run: ./configure
Run: make
Run: cp modules/xdebug.so /usr/lib/php/20170718
Update /etc/php/7.2/cli/php.ini and change the line
zend_extension = /usr/lib/php/20170718/xdebug.so

7
投票

如何在Ubuntu上安装Xdebug

如果上述解决方案都不适合您,那么您最后的选择可能是使用

pecl

如果您尚未安装

pecl

sudo apt -y install php7.3-dev php-pear // replace php7.3 with your version

运行

pecl
安装
xdebug
:

sudo pecl install xdebug

安装结束时,您可能会看到以下输出:

Build process completed successfully
Installing '/usr/lib/php/20180731/xdebug.so'
install ok: channel://pecl.php.net/xdebug-3.0.2
configuration option "php_ini" is not set to php.ini location
You should add "zend_extension=/usr/lib/php/20180731/xdebug.so" to php.ini

打开 php.ini 文件,在最底部添加 zend_exntension 行(如果 pecl 已经能够放置它,则跳过):

sudo vim /etc/php/7.3/apache2/php.ini // again replace 7.3 with your version

最后,重新启动您的网络服务器或 PHP-FPM,具体取决于您使用的内容。


6
投票

我认为您应该首先通过键入以下命令来使用存储库中所做的最新更改来更新本地包索引:

sudo apt update

或者

sudo apt-get update

APT 软件包索引本质上是 /etc/apt/sources.list 文件和 /etc/apt/sources.list.d 目录中定义的存储库中可用软件包的数据库。

致谢


2
投票

对于任何找到此答案的人,请记住 xdebug 2 和 xdebug 3 之间存在重大变化。XDebug 提供了升级指南:http://xdebug.org/docs/upgrade_guide


1
投票

php 7.4.8 更新:在 Xdebug 配置文件中

/etc/php/7.4/mods-available/xdebug.ini

我必须添加以下行:

xdebug.force_display_errors = 1

因为 Xdebug 无法工作。


0
投票

请禁用 ppa/php 并运行

sudo apt install php-xdebug


0
投票

由于

php8.x
的更改,强烈建议在安装
xdebug
之后直接配置 php.ini:

sudo nano /etc/php/8.3/cli/php.ini

如果您使用像apache这样的网络服务器,则需要重复

php/8.x/apache
的所有步骤。

xdebug.mode=debug
xdebug.client_host=localhost
xdebug.client_port=9003
xdebug.idekey="xdebug"
© www.soinside.com 2019 - 2024. All rights reserved.