我正在使用MAMP并且我安装了一个新版本的Opencart,它告诉我我没有启用MCrypt,当我去终端并输入:
php -m | grep mcrypt
output: mcrypt
我可以找到该库,但它似乎没有启用。
答案 0 :(得分:3)
php -m | grep mcrypt
返回mcrypt
的事实意味着mcrypt库已安装并已启用。
虽然它可能只是为CLI启用。
您可以尝试编辑PHP.ini文件并在; Extensions
部分下添加以下行:
extension=mcrypt.so
保存php.ini文件后重启Apache / MAMP。
要查找要编辑的正确php.ini
文件,请运行以下命令行:
php --info | grep php.ini
(如果该行已存在,您可能只需删除其前面的;
。)
答案 1 :(得分:1)
升级到MAMP 5.1并使用PHP 7.1.20之后,我遇到了这个问题...
我发现的问题不是MAMP PHP没有安装mcrypt,而是确实捆绑了。
问题是MAMP PHP配置选项“ 在命令行上使该版本可用”无法正常运行,因此我在PC上使用的PHP版本命令行[以我为例]是不带mcrypt的macOS默认PHP 7.1.16(默认为macOS中包含的版本)
恢复为旧的cli php别名意味着在命令行上使用了正确的MAMP版本的PHP
已添加到.bash_profile
alias php='/Applications/MAMP/bin/php/php7.1.20/bin/php'
答案 2 :(得分:1)
我尝试了很多方法,但是没有运气。
经过大量试验,终于提出了解决方案。
转到当前活动PHP版本目录中的bin目录。就我而言,它是res = res.join(pd.DataFrame(res.pop('set1').values.tolist()))
print(res)
id c1 0 1
0 1 abc 123.0 456.0
1 2 def 789.0 NaN
2 3 ghi NaN NaN
您的情况可能有所不同。现在使用sudo运行以下命令
/Applications/MAMP/bin/php/php7.2.8/bin
现在,您应该将sudo ./pecl install channel://pecl.php.net/mcrypt-1.0.1
添加到php.ini中
重新启动MAMP服务并检查其是否正常工作。
答案 3 :(得分:1)
使用Brew:
brew install mcrypt
File
-> Edit Template
-> PHP (php.ini)
-> {PHP version}
在文本中找到“动态扩展程序” ,并在下面添加以下内容(在以';'开头的行之后):
extension=mcrypt.so
保存,重新启动和测试(例如,使用php -i | grep mcrypt
)
答案 4 :(得分:0)
在控制台中尝试
pecl install mcrypt