我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
当前回答
对于使用XAMPP 1.7.3和Mac的用户
进入终端 输入哪个php 如果显示的是/usr/bin/php,则继续执行3。 输入sudo nano ~/。Bash_profile(或sudo vim ~/。如果你知道如何使用Bash_profile) 然后粘贴此导出PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" 然后按Ctrl+O输入保存,然后按Ctrl+X退出。 cd ~ 输入.bash_profile 重启终端。 输入哪个php。如果你做得正确,它应该与#4中的路径相同。
mcrypt错误的原因是因为你的Mac使用它的原生php,你需要将它更改为xampp拥有的。
注: 我建议Mac用户在Laravel 4中使用MAMP,这个问题会随着php文件信息错误一起得到解决,而且php版本的xampp已经过时了。
其他回答
或者,使用:
sudo apt-get install php5-mcrypt
不确定这是否适用于标准的PHP安装-我使用包安装了PHP 5.5.7:
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
对于OSX上的非MAMP或XAMPP用户(已安装自制程序):
brew install homebrew/php/php56-mcrypt
干杯!
使用Ubuntu
sudo php5enmod mcrypt
帮我搞定了。你不需要重新启动Apache,因为你只需要从CLI使用PHP。
让Laravel在Apache上工作
PHP版本:PHP 5.5.9
Ubuntu版本:14.04
我有一个关于窗户的laravel项目。当我把它复制到ubuntu服务器时,我开始得到McRypt错误。这是经过数小时的反复试验后得出的结论
让工匠指挥工作
(如果您在使用artisan命令行工具时出现McRypt错误)
我做了大量的试验和错误,所以每次我运行php5enmod命令时,我都有错误消息。但是在重新安装时没有错误消息。在这一步之后,我得到了工匠指挥工作
sudo rm /etc/php5/mods-available/mcrypt.ini
sudo apt-get purge php5-mcrypt
sudo apt-get install mcrypt
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt
修复浏览器错误
(如果您在访问本地laravel索引页面时浏览器出现McRypt错误)
sudo nano /etc/php5/apache2/php.ini
在PHP ini的动态编译扩展部分中添加以下行
extension=mcrypt.so
重新启动apache服务器,清除laravel缓存和所有工作
对于今天仍然来到这里的人:
Laravel不再需要mcrypt扩展了。McRypt已经过时,libmcrypt的最后一次更新是在2007年。Laravel 4.2也过时了,没有更多的支持。最好(=安全)的解决方案是更新到Laravel 9。x+ (Laravel 8;X还是可以的。但如果你正在升级,那么就升级到最新版本)。
Mcrypt于2015年6月从Laravel删除:https://github.com/laravel/framework/pull/9041