安装php5-mcrypt出错

9

今天我刚注册了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? - Misha Brukman
3个回答

3

sudo service apache2 restar

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版本是什么? - Gabriel Moretti
php5-mcrypt:依赖于虚拟包phpapi-20121212。 依赖于php5-common (= 5.5.24+dfsg-1+deb.sury.org~vivid+1),但已安装5.6.4+dfsg-4ubuntu6。 以下操作将解决这些依赖关系:保持以下软件包的当前版本: 1)php5-mcrypt [未安装] - Aditya Giri
和 @AdityaGiri 得到的一样。php5enmod mcrypt 仍然不起作用。为什么这个回复被接受了呢? - 3244611user
@3244611user 你尝试过使用aptitude吗? - Gabriel Moretti
是的。我得到了与@aditya相同的结果:保持以下软件包的当前版本:1)php5-mcrypt [未安装],这不是我想要的,对吧?因此,我仍然无法使用php5enmod激活它(它说找不到mcrypt)。我必须先清除apache2,然后才能使用apt-get,就像我的解决方案中所述。 - 3244611user

1

这太糟糕了,太糟糕了,太糟糕了。同时添加 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 是额外的(但不会有害)。


0

我也遇到了完全相同的问题。已经接受的解决方案对我没有用。花费了我很长时间才找到一种方法。

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

魔法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接