安装 php5-mcrypt 时出错

Posted

技术标签:

【中文标题】安装 php5-mcrypt 时出错【英文标题】:Error installing php5-mcrypt 【发布时间】:2015-07-28 21:50:18 【问题描述】:

就在今天,我注册了 Google Cloud Compute Engine。我做了所有事情,但在安装 php5-mcrypt 扩展时遇到了错误。 错误:

root@instance-2:~# sudo apt-get install php5-mcrypt
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-mcrypt : Depends: phpapi-20121212
               Depends: php5-common (= 5.5.24+dfsg-1+deb.sury.org~vivid+1) but 5.6.4+dfsg-4ubuntu6 is to be installed
E: Unable to correct problems, you have held broken packages.

我到处寻找,然后来到这里。请帮忙。

【问题讨论】:

你运行的是哪个版本的 Ubuntu? 【参考方案1】:

sudo 服务 apache2 重新启动

apt-get install php5-common 

或者,如果您不需要保留配置:

apt-get purge php5-common
apt-get install php5-common

你从apt-mark showhold得到任何输出吗?

如果它不能解决您的问题,您应该尝试使用 aptitude 安装它:

sudo apt-get install aptitude
sudo aptitude install php5-mcrypt

终于重新启动服务器

sudo service apache2 restart

【讨论】:

你的 ubuntu 版本是多少? php5-mcrypt :取决于:phpapi-20121212,它是一个虚拟包。取决于:php5-common (= 5.5.24+dfsg-1+deb.sury.org~vivid+1) 但安装了 5.6.4+dfsg-4ubuntu6。以下操作将解决这些依赖关系: 将以下软件包保留为当前版本:1) php5-mcrypt [未安装] 与@AdityaGiri 一样。 php5enmod mcrypt 仍然不起作用。为什么这个回复被接受了? @3244611user 你尝试过 aptitude 吗? 是的。我得到了和@aditya 一样的结果:Keep the following packages at their current version: 1) php5-mcrypt [Not Installed] 这不是我想要的,对吧?因此我仍然无法使用 php5enmod 激活它(它说它找不到 mcrypt)。我必须先清除 apache2,然后它甚至可以使用 apt-get,如我的解决方案中所述。【参考方案2】:

这太可怕了,太可怕了,太可怕了。将ppa:ondrej/php5-5.6ppa:ondrej/php5ppa:ondrej/php5-oldstable 一起添加将一无所获,因为您只需要其中之一(因为其中一个包含PHP 5.4,第二个PHP 5.5 和第三个PHP 5.6)。清除php5*apache2* 也不是必须的,如果升级时遇到错误,您可能需要清除apache2.2-common,但仅此而已。然后mcryptcurl 模块将自动启用(除非您过去禁用它们),所以php5enmod mcryptphp5enmod curl 是额外的(但无害)。

【讨论】:

【参考方案3】:

遇到了完全相同的问题。接受的解决方案对我不起作用。我花了很长时间才想办法。

sudo add-apt-repository -r ppa:ondrej/php5
sudo add-apt-repository -r ppa:ondrej/php5-oldstable
sudo add-apt-repository -r ppa:ondrej/php5-5.6
sudo apt-get purge php5* apache2* mcrypt*
sudo apt-get update
sudo apt-get upgrade

(警告:您将丢失 PHP 和 Apache 安装的所有设置!)

重新安装:

sudo apt-get install php5 php5-mcrypt php5-curl apache2

并启用扩展

sudo php5enmod mcrypt
sudo php5enmod curl

魔法。

【讨论】:

以上是关于安装 php5-mcrypt 时出错的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu14php5.5安装mcrypt扩展

需要 Mcrypt PHP 扩展

php5 Mcrypt 拒绝为 Ubuntu 安装

ubuntu下加载mcypt

安装 Laravel 时出错:需要 Mcrypt PHP 扩展

在升级到 PHP 5.4.33 的 Centos VPS 上安装 mcrypt 扩展时出错