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
有时候会出现这个“问题”,因为你在本地机器上input了一个artisan命令,而不是在你的虚拟机上。 如果您正在使用Homestead,则已经安装了mcrypt。 考虑它提醒homestead ssh
另一个解决scheme,如果包已经安装:
sudo aptitude reinstall php5-mycript
升级后,这对我有用