无法将 Xdebug 链接到 PHP 5.4

无法将 Xdebug 链接到 PHP 5.4

今天我安装/更新了我之前php 5.3.x5.4.11. 照做了如何在 ubuntu 中从 php 5.3 升级到 php 5.4.6?

安装成功,但在我看来,这xdebug已经过时了,因为在查看php -v检查安装是否成功时出现了一条警告消息。

所以我更新pear/pecl并删除了以前安装的 xdebug
sudo pecl uninstall xdebug

设置并再次尝试。当安装完成时php_ini,由于某种原因,它显示,这不是指向(实际上指向了)。pear/peclsudo pecl install xdebugphp_iniphp.ini

尽管如此,安装还是成功的,除了当我尝试添加/usr/lib/php5/20090626+lfs/xdebug.so到文件/etc/php5/mods-available并符号链接到该文件时/etc/php5/conf.d,重新启动服务器后,我得到了php -v

sandbox@ubuntu:~$ php -v
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/xdebug.so' - /usr/lib/php5/20090626+lfs/xdebug.so: undefined symbol: php_body_write in Unknown on line 0
PHP 5.4.11-1~precise+1 (cli) (built: Jan 24 2013 15:22:16)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

有人知道如何修复吗?我真的需要调试站在我这边)

更新: 忘了提一下,一切都发生在 Ubuntu Server 12.04 上,它位于 Windows 主机系统下的 VirtualBox 上。

更新 1: 有人建议我将20090626+lfs目录移到其他地方,因为它可能会影响较新的版本,但没有。移走后,我尝试重新安装 xdebug( sudo pecl uninstall xdebug & sudo pecl install xdebug),但不知何故它被安装到了同一个位置。查看pecl配置时,我看到

PHP extension directory        ext_dir          /usr/lib/php5/20100525+lfs

,但在安装 xdebug 期间会打印出以下内容

checking for PHP extension directory... /usr/lib/php5/20090626+lfs

答案1

在我的情况下,php5-dev已经安装了,我unable to load...也收到了这条消息。卸载 xdebug 对我来说很管用:

sudo pecl uninstall xdebug

进而

sudo pecl install xdebug

安装目录现在已更改,我需要修改我的/etc/php5/mods-available/xdebug.ini以指向新的 xdebug.so

答案2

php5-dev需要安装。

sudo apt-get install php5-dev

答案3

在 php.ini 文件中包含以下行。

[xdebug]
zend_extension=xdebug.so

编辑文件/etc/php5/cli/conf.d/xdebug.ini

xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000

在以下 URL 中http://icdif.com/computing/2011/05/01/xdebug-ubuntu/您将获得设置 xdebug 的简单教程,但不要忘记运行命令:

sudo pecl install xdebug (此命令

重新启动 Apache

sudo /etc/init.d/apache2 重新启动

并且完美!

非常有效!

相关内容