我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
当前回答
只是为了美味,
yum install php-mcrypt
service httpd restart
chown -R apache:apache apppath
也许你需要安装remi repo
其他回答
对于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
在OS X上
使用MAMP
在终端中输入命令which php以查看您正在使用的php版本。如果它不是来自MAMP的PHP版本,Bash使用的$PATH变量将需要更新。
首先,你应该使用命令“cd /Applications/MAMP/bin/php”来检查MAMP中的php版本,并记下这个版本(例如php5.6.7)。
一旦知道了版本,就应该编辑~/。Bash_profile文件(即主目录中的.bash_profile),并添加一条导出行:
export PATH=/Applications/MAMP/bin/php/php5.6.7/bin:$PATH
确保将php5.6.7替换为在MAMP中选择的PHP版本。
保存文件后,确保关闭终端并再次打开它。完成这些工作后,您将使用随MAMP附带的PHP。
一种方法是在终端中运行以下命令,轻松找到需要放入.bash_profile中的行:
echo export PATH=`cat /Applications/MAMP/conf/apache/httpd.conf \
| grep php | grep -i LoadModule | head -n1 \
| sed -e 's/^[^\/]*\/\(.*\)\/mod.*/\/\1/'`/bin:\$PATH
将这三行复制并粘贴到终端中,将正确地输出在MAMP控制面板中选择的PHP版本。
使用自制程序/ MacPorts
确保你的路径包含/usr/local/bin/ (Homebrew)或/opt/local/bin (MacPorts)(如果你使用的是这两个包管理器中的任何一个附带的PHP)。
使用MacPorts检查PHP路径
你可以使用MacPorts命令找到PHP的确切位置:
port contents php70 | grep bin/php
注意,您应该将php70替换为您已经安装的PHP版本。
使用Homebrew-php检查PHP路径
Homebrew-php (https://github.com/Homebrew/homebrew-php)是一个拥有各种不同版本的PHP的插件。
你可以在Homebrew中使用以下命令找到PHP的确切位置:
brew --prefix homebrew/php/php56
注意,您应该用已经安装的PHP版本替换php56。
使用Ubuntu
sudo php5enmod mcrypt
帮我搞定了。你不需要重新启动Apache,因为你只需要从CLI使用PHP。
Ubuntu 14.04
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt
Ubuntu 16.04
sudo apt-get install php-mcrypt
sudo phpenmod mcrypt
Ubuntu 18.04
sudo apt install php7.0-mcrypt
sudo phpenmod mcrypt
or
sudo apt install php7.2-mcrypt
sudo phpenmod mcrypt