我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
我试图在OSX上使用Laravel 4中的迁移函数。然而,我得到以下错误:
Laravel requires the Mcrypt PHP extension.
据我所知,它已经启用了(见下图)。
出了什么问题,我该如何解决?
当前回答
web支持的扩展和命令行支持的扩展可能有所不同。在您的终端中运行php -m并检查是否列出了mcrypt。如果不是,那么检查命令行从哪里加载你的php.ini文件,从你的终端运行php——ini。
在这个php.ini文件中,您可以启用扩展名。
OSX
我听说有人在OSX上遇到问题,因为终端指向OSX自带的原生PHP。相反,您应该更新bash配置文件,以包含PHP的实际路径。类似这样的东西(我实际上不使用OSX,所以这可能不是100%):
export PATH=/usr/local/php5/bin:$PATH
Ubuntu
在Ubuntu的早期版本(14.04之前),当你运行sudo apt-get install php5-mcrypt时,它实际上并没有将扩展安装到可用的mods中。您需要对它进行符号链接。
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
在所有的Ubuntu版本中,你都需要在安装后启用mod。你可以用php5enmod来做。
sudo php5enmod mcrypt
sudo service apache2 restart
笔记 PHP 7.1弃用了mcrypt, 7.2完全删除了mcrypt扩展 Laravel 5.1和后来的版本不再需要mcrypt
其他回答
让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缓存和所有工作
这在我的Linux Mint本地环境https://askubuntu.com/questions/350942/cannot-get-mcrypt-for-php5上解决了它
我需要在以下文件夹/etc/php5/apache2/conf.d/mcrypt.ini和/etc/php5/cli/conf.d/mcrypt.ini中创建一个符号链接到我的/etc/php5/conf.d/mcrypt.ini文件
对于ubuntu,如果其他步骤不工作,请尝试以下步骤:
cd ~ Sudo apt-get删除php5-mcrypt 安装php5-mcrypt Sudo php5enmod McRypt Sudo服务apache2重启
希望这能有所帮助。谢谢!
或者,使用:
sudo apt-get install php5-mcrypt
不确定这是否适用于标准的PHP安装-我使用包安装了PHP 5.5.7:
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
你需要一个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扩展