无法使用自制软件和php7.4安装mcrypt



操作系统:macOS 11(big-sur(

自制:2.5.12

PEAR版本:1.10.12

我刚刚用自制软件将mac上的php从php7.1升级到php7.4(brew-installphp@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. brew isstall-mcrypt
  2. 安装pecl
  3. sudo pecl install mcrypt--错误在这里

我尝试了什么:

  1. 找到mcrypt.h并手动将文件放在几个位置(基于php配置(,无法工作。

  2. 已清理brew并重新安装/重新链接mcrypt(libmcrypt(,但不起作用。

  3. 删除了旧brew版本的遗留mcrypt文件。

我遇到了同样的问题。因此,在使用brew install mcrypt安装libmcrypt之后,configure似乎无法自动解析mcrypt.h的路径。指定CPPFLAGS或为自制程序提供包含路径也不起作用。

但我找到了一个适合我的解决方案,将mcrypt的安装位置提供给pecl。这是以下代码自动执行的操作:

pecl install mcrypt <<<"$(ls -d $(brew --prefix)/Cellar/mcrypt/* | tail -1)"

如果您使用brew,请尝试以下操作:

1.Unistall现有php然后安装shivammathur/php-

添加shivammathur php

brew tap shivammathur/php

根据需要更改php版本(5.6或7.2或7.4或8.1或下一版本(

brew install shivammathur/php/php@7.4

2.安装shivammathur/extensions它将为php添加扩展然后

brew tap shivammathur/extensions
brew install shivammathur/extensions/mcrypt@7.4

然后安装与php版本相同版本的mcrypt

brew install mcrypt@7.4

然后重新启动httpd

brew services restart httpd

参考:

https://github.com/shivammathur/homebrew-php

https://github.com/shivammathur/homebrew-extensions

这里的问题是configure命令找不到自制安装的libmcrypt

你可以

  1. 下载mcrypt-1.0.4的源代码,然后在文件夹中下载cd

  2. 运行";phpize";

  3. 运行"/configure-with mcrypt=/opt/homebrew/Cellar/mcrypt/2.6.8";,你可以在这里用你的自制程序库的路径更改路径

  4. 运行";make&amp;进行安装";

  5. 将extension=mcrypt.so添加到您的配置文件

ps:使用php -i | grep "Loaded Configuration File"定位php配置文件

如果macOS出现错误,请使用php.ini中的完整路径,如:

extension="/opt/homebrew/Cellar/php/8.1.9/pecl/20210902/mcrypt.so"

最新更新