升级到 php 5.4 后 PHP 崩溃

升级到 php 5.4 后 PHP 崩溃

在 ubuntu 12.04 上,我根据本教程升级到了 PHP 5.4 http://www.upubuntu.com/2012/03/how-to-upgrade-install-php-540-under.html 但是当我打电话时php5 -v我得到

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/mysql.so' - /usr/lib/php5/20100525/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/mysqli.so' - /usr/lib/php5/20100525/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/pdo_mysql.so' - /usr/lib/php5/20100525/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 5.4.0-3~lucid+4 (cli) (built: Mar 27 2012 08:55:12) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

我怎样才能修复它而不破坏更多的东西?;)

编辑,当尝试安装 php5-mysql

sudo apt-get install php5-mysql

我明白

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 php5-mysql : Depends: libmysqlclient16 (>= 5.1.21-1) but it is not installable
E: Unable to correct problems, you have held broken packages.

答案1

不建议在不支持较新 PHP 版本的 Ubuntu 机器上安装较新的 PHP 版本。

如果你真的需要,你应该尝试从 DotDeb 安装 PHP 和 MySQL 包,它也内置了所有扩展。其网站上有说明http://www.dotdeb.org/instructions/

如果安装时要求更新库的版本,你可以从http://packages.debian.org并使用 手动安装它们dpkg -i packagename.deb

请注意,这可能会破坏您的 Ubuntu 安装。请在虚拟机或可恢复环境中进行测试,切勿在生产环境中进行测试。

答案2

您是否尝试过重新启动您的网络服务器?

sudo /etc/init.d/apache2 restart

有一段时间没用过 Ubuntu 了,但我认为就这样了

然后尝试重新安装有问题的包。MySQL 包

答案3

据我所知,Ubuntu 12.4 仍处于测试阶段(最终测试版)。由于 libmysqlclient16 已从 Ubuntu 12.04 存储库中删除,因此您需要手动安装它。下载软件包:32 位版本 -http://launchpadlibrarian.net/94563300/libmysqlclient16_5.1.58-1ubuntu5_i386.deb 64 位版本 -http://launchpadlibrarian.net/94808408/libmysqlclient16_5.1.58-1ubuntu5_amd64.deb

然后使用以下命令安装:sudo dpkg -i libmysqlclient16_5.1.58-1ubuntu5_XXX.deb 可能需要将 mysql 服务器升级到 5.1.58

答案4

此软件包对于 Debian 版本 7 来说已经过时。然后一个选项是禁用它。

  1. /etc/php5/conf.d/
  2. 编辑/etc/php5/conf.d/mhash.ini
  3. 禁止添加 ; 下一行

    ;extension=mhash.so
    

这个库位于/usr/lib/pyshared/python2.7。我试图将 ( ln) 链接到它,但没有成功,因为显示二进制错误。

相关内容