我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
当前回答
我的OS是Yosemite。
我解决了这个问题,通过找到配置路径:
php --ini
示例输出:
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File: /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed: (none)
下一个步骤:
重命名或删除php55 ini文件 创建符号链接 重启Apache服务器
命令:
mv /usr/local/etc/php/5.5/php.ini /usr/local/etc/php/5.5/php.ini.default
ln -s /etc/php.ini /usr/local/etc/php/5.5/php.ini
sudo apachectl restart
然后你可以检查你的php模块通过:
php -m
其他回答
或者,使用:
sudo apt-get install php5-mcrypt
不确定这是否适用于标准的PHP安装-我使用包安装了PHP 5.5.7:
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
使用Ubuntu
sudo php5enmod mcrypt
帮我搞定了。你不需要重新启动Apache,因为你只需要从CLI使用PHP。
安装McRypt Sudo php5enmod McRypt
只是为了美味,
yum install php-mcrypt
service httpd restart
chown -R apache:apache apppath
也许你需要安装remi repo
对于ubuntu,如果其他步骤不工作,请尝试以下步骤:
cd ~ Sudo apt-get删除php5-mcrypt 安装php5-mcrypt Sudo php5enmod McRypt Sudo服务apache2重启
希望这能有所帮助。谢谢!