我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
当前回答
对于OSX上的非MAMP或XAMPP用户(已安装自制程序):
brew install homebrew/php/php56-mcrypt
干杯!
其他回答
我的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
安装McRypt Sudo php5enmod McRypt
对于Ubuntu 14.04上的php-fpm安装,以下操作对我来说是有效的:
安装php5-mcrypt
这将在/etc/php5/mods-available/中创建mcrypt.ini文件
然后
Sudo php5enmod McRypt
将在:/etc/php5/fpm/conf.d/
重启php-fpm服务即可 Sudo service php5-fpm restart
使用Ubuntu
sudo php5enmod mcrypt
帮我搞定了。你不需要重新启动Apache,因为你只需要从CLI使用PHP。
扩展一下@JetLaggy:
在一次又一次尝试用MAMP目录修改.bash_profile后,我改变了MAMP php目录的文件权限,并能够获得“which php”以显示正确的目录。问题是其他函数不起作用,比如'php -v'。
所以我更新了MAMP。http://documentation.mamp.info/en/mamp/installation/updating-mamp
这对我的特殊设置很有效。我必须调整我的PATH以反映更新的PHP版本,但一旦我这样做了,一切都工作了!