不能安装mcrypt与自制程序和php7.4

j91ykkif  于 2023-01-19  发布在  PHP
关注(0)|答案(4)|浏览(168)

操作系统: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

  1. sudo pecl install mcrypt--在这里显示错误。
    我尝试了:
    1.找到mcrypt. h并手动将文件放到几个位置(基于php-config),但不起作用。
    1.已清理brew并重新安装/重新链接mcrypt(libmcrypt),但无法正常工作。
    1.删除了旧brew版本的遗留mcrypt文件。
xt0899hw

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)"

flvlnr44

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配置文件

ezykj2lf

ezykj2lf3#

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

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

tuwxkamq4#

如果你使用brew试试这个:
1.卸载现有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 it s将添加扩展到php然后

brew tap shivammathur/extensions

brew install shivammathur/extensions/mcrypt@7.4

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

brew install mcrypt@7.4

然后重新启动httpd

brew services restart httpd

参考:
https://github.com/shivammathur/homebrew-php
https://github.com/shivammathur/homebrew-extensions

相关问题