安装 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.6
与ppa:ondrej/php5
和ppa:ondrej/php5-oldstable
一起添加将一无所获,因为您只需要其中之一(因为其中一个包含PHP 5.4,第二个PHP 5.5 和第三个PHP 5.6)。清除php5*
和apache2*
也不是必须的,如果升级时遇到错误,您可能需要清除apache2.2-common
,但仅此而已。然后mcrypt
和curl
模块将自动启用(除非您过去禁用它们),所以php5enmod mcrypt
和php5enmod 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 时出错的主要内容,如果未能解决你的问题,请参考以下文章