ubuntu 升级后 xdebug 不工作
xdebug not working after ubuntu upgrade
今天我将 ubuntu 14.10 升级到 15.04,但 xdebug 不再工作了。我使用 eclipse Luna Service Release 2.
我已经尝试通过 pecl、apt-get 重新安装 xdebug,甚至按照 http://xdebug.org/wizard.php 说明进行手动安装(粘贴我的 phpinfo() 输出)。
我有 xampp,在 /opt/lampp
目录中。
我在 /opt/lampp/etc/php.ini
中尝试了 "zend_extension" 的几个位置,例如 zend_extension=/usr/lib/php5/20131226/xdebug.so
和 zend_extension =/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
当我在eclipse上点击调试时,浏览器收到命令,参数?XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=包含在url中,但执行不会在任何断点处停止。
当我 运行 phpinfo() xdebug 没有显示为已安装的模块时。
有什么提示吗?
我在发布答案后删除了 phpinfo() 输出以进行澄清。
最后我找不到解决方案,所以我不得不删除所有 lamp 包,然后我按照本教程将所有内容作为独立模块重新安装:http://www.unixmen.com/how-to-install-lamp-stack-on-ubuntu-15-10/,然后我这样做来安装 xdebug:
1.- 为 PHP
安装 xdebug 扩展
$ sudo apt-get install php5-xdebug
2.- 检查 "xdebug.so" 模块的位置,该模块保存在“/usr/lib/php5/20131226”下,其中编号取决于 PHP 版本。
3.- 安装会创建一个配置文件“/etc/php5/mods-available/xdebug.ini”,其中包含以下行(否则,创建一个):
zend_extension=xdebug.so
注意:在以前的版本中,您需要指定 full-path 文件名,例如 "zend_extension=/usr/lib/php5/20121212/xdebug.so"。
将以下行包含到 "xdebug.ini" 中以从 Eclipse PDT 启用远程调试:
xdebug.remote_enable = On
xdebug.remote_port = 9000
xdebug.remote_host = 127.0.0.1
回想一下 Apache 加载 PHP 配置文件“/etc/php5/apache2/php.ini”和“/etc/php5/apache2/conf.d/*.ini”。要启用上述 xdebug 配置文件,请在“/etc/php5/apache2/conf.d”中创建以下符号链接:
$ cd /etc/php5/apache2/conf.d
$ sudo ln -s ../../mods-available/xdebug.ini 20-xdebug.ini
$ ls -l
lrwxrwxrwx 1 root root 31 Sep 11 19:42 20-xdebug.ini -> ../../mods-available/xdebug.ini
4.- 检查 PHP 配置文件“/etc/php5/apache2/php.ini”的以下设置:
; Turn on the error display for development system,
; but not for production system.
display_errors = On
; Format error in HTML
html_errors = On
5.- 重新启动 Apache2:
$ sudo service apache2 restart
它就像一个魅力
目前Xdebug(请仅使用uptil Xdebug 2.6,因为更高版本在调试方面存在一些问题);只能工作到 php 7.2(即小于 7.3)。因此,如果您安装了任何其他版本,如 php 7.3 或 7.4,那么您还必须安装 php 7.2 以及当前的 php 版本(主要是因为现在默认情况下最新版本是通过安装的易于)。然后在备选方案之间进行更新。
要将 PHP 7.0 设置为默认值,运行
update-alternatives --set php /usr/bin/php7.0
要设置PHP 7.2为默认值,运行
update-alternatives --set php /usr/bin/php7.2
要设置PHP 7.3为默认值,运行
update-alternatives --set php /usr/bin/php7.3
设置PHP 7.4为默认值,运行
update-alternatives --set php /usr/bin/php7.4
在我们配置 Apache 以使用 PHP 7.2 之前,我们需要通过键入
来禁用 PHP 的新(或旧)版本
a2dismod php7.4
现在使用以下命令启用新安装的 PHP 7.2 版本:
a2enmod php7.2
重新启动 Apache Web 服务器以使更改生效:
sudo systemctl restart apache2
今天我将 ubuntu 14.10 升级到 15.04,但 xdebug 不再工作了。我使用 eclipse Luna Service Release 2.
我已经尝试通过 pecl、apt-get 重新安装 xdebug,甚至按照 http://xdebug.org/wizard.php 说明进行手动安装(粘贴我的 phpinfo() 输出)。
我有 xampp,在 /opt/lampp
目录中。
我在 /opt/lampp/etc/php.ini
中尝试了 "zend_extension" 的几个位置,例如 zend_extension=/usr/lib/php5/20131226/xdebug.so
和 zend_extension =/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
当我在eclipse上点击调试时,浏览器收到命令,参数?XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=包含在url中,但执行不会在任何断点处停止。
当我 运行 phpinfo() xdebug 没有显示为已安装的模块时。
有什么提示吗?
我在发布答案后删除了 phpinfo() 输出以进行澄清。
最后我找不到解决方案,所以我不得不删除所有 lamp 包,然后我按照本教程将所有内容作为独立模块重新安装:http://www.unixmen.com/how-to-install-lamp-stack-on-ubuntu-15-10/,然后我这样做来安装 xdebug:
1.- 为 PHP
安装 xdebug 扩展$ sudo apt-get install php5-xdebug
2.- 检查 "xdebug.so" 模块的位置,该模块保存在“/usr/lib/php5/20131226”下,其中编号取决于 PHP 版本。
3.- 安装会创建一个配置文件“/etc/php5/mods-available/xdebug.ini”,其中包含以下行(否则,创建一个):
zend_extension=xdebug.so
注意:在以前的版本中,您需要指定 full-path 文件名,例如 "zend_extension=/usr/lib/php5/20121212/xdebug.so"。 将以下行包含到 "xdebug.ini" 中以从 Eclipse PDT 启用远程调试:
xdebug.remote_enable = On
xdebug.remote_port = 9000
xdebug.remote_host = 127.0.0.1
回想一下 Apache 加载 PHP 配置文件“/etc/php5/apache2/php.ini”和“/etc/php5/apache2/conf.d/*.ini”。要启用上述 xdebug 配置文件,请在“/etc/php5/apache2/conf.d”中创建以下符号链接:
$ cd /etc/php5/apache2/conf.d
$ sudo ln -s ../../mods-available/xdebug.ini 20-xdebug.ini
$ ls -l
lrwxrwxrwx 1 root root 31 Sep 11 19:42 20-xdebug.ini -> ../../mods-available/xdebug.ini
4.- 检查 PHP 配置文件“/etc/php5/apache2/php.ini”的以下设置:
; Turn on the error display for development system,
; but not for production system.
display_errors = On
; Format error in HTML
html_errors = On
5.- 重新启动 Apache2:
$ sudo service apache2 restart
它就像一个魅力
目前Xdebug(请仅使用uptil Xdebug 2.6,因为更高版本在调试方面存在一些问题);只能工作到 php 7.2(即小于 7.3)。因此,如果您安装了任何其他版本,如 php 7.3 或 7.4,那么您还必须安装 php 7.2 以及当前的 php 版本(主要是因为现在默认情况下最新版本是通过安装的易于)。然后在备选方案之间进行更新。
要将 PHP 7.0 设置为默认值,运行
update-alternatives --set php /usr/bin/php7.0
要设置PHP 7.2为默认值,运行
update-alternatives --set php /usr/bin/php7.2
要设置PHP 7.3为默认值,运行
update-alternatives --set php /usr/bin/php7.3
设置PHP 7.4为默认值,运行
update-alternatives --set php /usr/bin/php7.4
在我们配置 Apache 以使用 PHP 7.2 之前,我们需要通过键入
来禁用 PHP 的新(或旧)版本a2dismod php7.4
现在使用以下命令启用新安装的 PHP 7.2 版本:
a2enmod php7.2
重新启动 Apache Web 服务器以使更改生效:
sudo systemctl restart apache2