Laravel 需要 Mcrypt PHP 扩展

2022-08-30 05:52:13

我正在尝试在OSX上使用Laravel 4中的功能。但是,我收到以下错误:migrate

Laravel requires the Mcrypt PHP extension.

据我所知,它已经启用(见下图)。

出了什么问题,我该如何解决?

enter image description here


答案 1

您是否安装了 MAMP

在终端中使用以查看您正在使用的PHP版本。which php

如果它不是来自 MAMP 的 PHP 版本,则应在用户的主目录中进行编辑或添加,即:.bash_profilecd ~

在 中,添加以下行:.bash_profile

export PATH=/Applications/MAMP/bin/php/php5.4.10/bin:$PATH

编辑:首先,您应该使用命令来检查您正在使用的MAMP中的PHP版本,然后替换为上面的PHP版本。cd /Applications/MAMP/bin/php

然后终端查看您现在正在使用的PHP。restart

它现在应该起作用了。


答案 2

启用 Web 的扩展程序和启用命令行的扩展程序可能不同。在终端中运行并检查是否列出。如果不是,则通过从终端运行来检查命令行从何处加载文件。php -mmcryptphp.iniphp --ini

在此文件中,您可以启用扩展名。php.ini

断续器

我听说OSX上的人由于终端指向OSX附带的本机PHP而遇到问题。相反,您应该更新您的bash配置文件以包含PHP的实际路径。像这样的东西(我实际上没有使用OSX,所以这可能不是100%):

export PATH=/usr/local/php5/bin:$PATH

乌班图

在早期版本的 Ubuntu(14.04 之前)上,当您运行时,它实际上不会将扩展安装到 .您需要将其符号链接。sudo apt-get install php5-mcryptmods-available

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

笔记


推荐