操作系统:macOS 11(大苏尔)
自制:2.5.12
PEAR版本:1.10.12
我刚刚用自制软件把mac上的php从php7.1升级到php7.4(brew安装php@7.4)。
然后,当我尝试安装mcrypt扩展,我得到了错误:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
ERROR: `/private/tmp/pear/install/mcrypt/configure --with-php-config=/usr/local/homebrew/opt/php@7.4/bin/php-config --with-mcrypt' failed
我是这么做的:
1.酿造是不可能的
1.安装pecl
- sudo pecl install mcrypt--在这里显示错误。
我尝试了:
1.找到mcrypt. h并手动将文件放到几个位置(基于php-config),但不起作用。
1.已清理brew并重新安装/重新链接mcrypt(libmcrypt),但无法正常工作。
1.删除了旧brew版本的遗留mcrypt文件。
4条答案
按热度按时间xt0899hw1#
我遇到了同样的问题。所以在用
brew install mcrypt
安装libmcrypt后,似乎configure无法自动解析mcrypt. h的路径。指定CPPFLAGS或提供homebrew include路径也不起作用。但是我找到了一个适合我的解决方案,就是给pecl提供mcrypt在Homebrew Cellar中的安装位置,这就是下面的代码自动执行的操作:
pecl install mcrypt <<<"$(ls -d $(brew --prefix)/Cellar/mcrypt/* | tail -1)"
flvlnr442#
这里的问题是configure命令找不到homebrew安装的libmcrypt
你可以
1.下载mcrypt-1.0.4的源代码,然后将cd放入文件夹
1.运行phpize
1.运行. "/configure--with-mcrypt =/opt/homebrew/Cellar/mcrypt/2.6.8 ",您可以在此处将路径更改为您的homebrew库路径
1.运行"make && make安装"
1.添加扩展名= mcrypt.so到你的配置文件
ps:使用
php -i | grep "Loaded Configuration File"
来定位你的php配置文件ezykj2lf3#
如果在macOS上出现错误,请使用php.ini中的完整路径,例如:
tuwxkamq4#
如果你使用brew试试这个:
1.卸载现有php然后安装shivammathur/php
添加shivammathur PHP
更改php版本与你需要的(5.6或7.2或7.4或8.1或下一个版本)
2.安装shivammathur/extensions it s将添加扩展到php然后
然后你安装mcrypt与相同的版本作为php版本
然后重新启动httpd
参考:
https://github.com/shivammathur/homebrew-php
https://github.com/shivammathur/homebrew-extensions