Ubuntu升级到13.10后,mCrypt不存在

在将我的系统从Ubuntu 13.04升级到13.10后,出现了几个使用apache,mysql和phpconfiguration的问题。

我解决了他们大部分,但我似乎无法得到mCrypt库工作。 包安装,所以我不需要apt-get它。 服务器的作品,一切似乎很好,但是当我尝试运行Laravel 4的php artisan serve ,我得到一个消息,mCrypt是必需的。

我做了php --ri mcrypt和输出是Extension 'mcrypt' not present. 我试图把extension=mcrypt.so/etc/php5/apache2/php.ini但它没有工作。

有任何想法吗?

dpkg --get-selections | grep php5输出dpkg --get-selections | grep php5 dpkg --get-selections | grep php5

 libapache2-mod-php5 install php5 install php5-cli install php5-common install php5-gd install php5-json install php5-mcrypt install php5-mysql install php5-readline install 

我想我在launchpad.netfind了解决scheme。

所以:

 sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available sudo php5enmod mcrypt sudo service apache2 restart 

这对我有效。 希望这对其他人也有帮助。

我有这个问题与Ubuntu 14.04,我做了以下解决它:

 sudo apt-get install php5-mcrypt sudo php5enmod mcrypt sudo service apache2 restart 

安装后,我也有这个问题与Ubuntu 14.04。

首先启用mcrypt

 sudo gedit /etc/php5/apache2/php.ini 

在任何行中添加此命令

 extension=mcrypt.so 

在/ etc / php5中创buildconf.d文件夹

 sudo mkdir conf.d 

并在该文件夹内创buildmcrypt.ini文件

 sudo gedit mcrypt.ini 

然后将该命令添加到该文件

 extension=mcrypt.so 

然后创build一个文件链接

 sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available 

启用mcrypt模块

 sudo php5enmod mcrypt 

重新启动Apache

 sudo service apache2 restart 

从Ubuntu 13.10到14.04:

 sudo php5enmod mcrypt sudo service apache2 restart 

为我工作。

我也遇到了Ubuntu 14.04和Nginx的这个问题,但是对于我的提示是重新启动FPM服务,所以我做了:

安装库

apt-get install php5-mcrypt

findpath

updatedb &&findmcrypt.so

在位于/etc/php5/mods-available/mcrypt.ini的mcrypt.ini文件中设置mcrypt.so的path

延长= / usr / lib中/ PHP5 / 20121212 / mcrypt.so

然后重新启动FPM服务

服务php5-fpm重启

试试这个代码:

 ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini service apache2 restart 

我在Mac OS X Yosemite上运行PHP 5.5.14时遇到了同样的问题。 我正在尝试安装Laravel 5.0。 而当我试图创build一个新的项目,我得到了一个像下面的错误(即使当我试图用PHP的手艺服务启动laravel服务器

 Alejandros-MacBook-Pro:Documents Lexynux$ laravel new blog Crafting application... PHP Notice: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83 PHP Notice: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83 Generating optimized class loader Compiling common classes Compiling views PHP Notice: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83 Application key [CCOPocoMjnJTx4AFXk64wqyTKyo3BlHq] set successfully. Application ready! Build something amazing. Alejandros-MacBook-Pro:Documents Lexynux$ 

所以我只是在nano编辑器的php.ini文件末尾加了一行:

 extension=mcrypt.so sudo nano /etc/php.ini 

最后,重新启动terminal,然后重新启动laravel应用程序服务器

 php artisan serve 

它工作正常!

刚刚在php.net上find

请注意,对于Ubuntu,只需安装php5-mcrypt就不会让mcrypt工作。 您需要以root身份执行以下命令来启用它:

 apt-get install php5-mcrypt mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/ php5enmod mcrypt service apache2 restart 

http://php.net/manual/en/mcrypt.installation.php#114609

有时候会出现这个“问题”,因为你在本地机器上input了一个artisan命令,而不是在你的虚拟机上。 如果您正在使用Homestead,则已经安装了mcrypt。 考虑它提醒homestead ssh

另一个解决scheme,如果包已经安装:

 sudo aptitude reinstall php5-mycript 

升级后,这对我有用