我正在尝试在 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?
我该如何解决这个问题?
首先,您需要使用以下命令更新本地软件包:
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
我使用以下方法并且有效 从 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
如何在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,具体取决于您使用的内容。
我认为您应该首先通过键入以下命令来使用存储库中所做的最新更改来更新本地包索引:
sudo apt update
或者
sudo apt-get update
APT 软件包索引本质上是 /etc/apt/sources.list 文件和 /etc/apt/sources.list.d 目录中定义的存储库中可用软件包的数据库。
对于任何找到此答案的人,请记住 xdebug 2 和 xdebug 3 之间存在重大变化。XDebug 提供了升级指南:http://xdebug.org/docs/upgrade_guide
php 7.4.8 更新:在 Xdebug 配置文件中
/etc/php/7.4/mods-available/xdebug.ini
我必须添加以下行:
xdebug.force_display_errors = 1
因为 Xdebug 无法工作。
请禁用 ppa/php 并运行
sudo apt install php-xdebug
由于
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"