今天我安装/更新了我之前php 5.3.x
的5.4.11. 照做了如何在 ubuntu 中从 php 5.3 升级到 php 5.4.6?
安装成功,但在我看来,这xdebug
已经过时了,因为在查看php -v
检查安装是否成功时出现了一条警告消息。
所以我更新pear/pecl
并删除了以前安装的 xdebug
sudo pecl uninstall xdebug
设置并再次尝试。当安装完成时php_ini
,由于某种原因,它显示,这不是指向(实际上指向了)。pear/pecl
sudo pecl install xdebug
php_ini
php.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 重新启动
并且完美!
非常有效!