我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
当前回答
你需要一个all in one环境。您可以使用MAMP或XAMPP或任何其他工具。在安装这些工具之一之后,您将需要编辑(创建). bash_profile(假设您使用bash)。
或者甚至简单和更专业的你可以使用Laravel Homestead。
这里是官方文档的链接:http://laravel.com/docs/5.0/homestead
杰弗里还有一个关于它的免费教程: https://laracasts.com/series/laravel-5-fundamentals/episodes/2
我建议您使用homestead,因为您将预先安装以下所有工具。
Ubuntu 14.04 PHP 5.6 HHVM Nginx MySQL Postgres 节点(带有低沉、咕哝和吞咽) 复述, Memcached Beanstalkd Laravel特使 面料+ HipChat扩展
其他回答
Ubuntu (PHP-FPM,Nginx)
sudo apt-get install php5-mcrypt
安装php5-mcrypt后
你必须使一个符号链接到ini文件在mods-available:
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
启用:
sudo php5enmod mcrypt
重启php5-fpm:
sudo service php5-fpm restart
更详细地
对于使用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已经过时了。
你安装了MAMP吗?
在终端中使用哪个php来查看您正在使用的php版本。
如果它不是来自MAMP的PHP版本,您应该在用户的主目录中编辑或添加.bash_profile,即:cd ~
在.bash_profile中添加以下行:
export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH
编辑:首先你应该使用cd /Applications/MAMP/bin/php命令来检查你使用的是MAMP中的哪个php版本,然后用上面的php版本替换。
然后重新启动终端,查看您现在使用的是哪个PHP。
现在应该可以工作了。
对于OSX上的非MAMP或XAMPP用户(已安装自制程序):
brew install homebrew/php/php56-mcrypt
干杯!
对于ubuntu,如果其他步骤不工作,请尝试以下步骤:
cd ~ Sudo apt-get删除php5-mcrypt 安装php5-mcrypt Sudo php5enmod McRypt Sudo服务apache2重启
希望这能有所帮助。谢谢!