文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mac 安装 php5.6 扩展 mcrypt

2023-08-31 15:07

关注

报错信息:

php和java项目之间交互,数据传递用到了crypt加解密

    vendor('CryptAES.CryptAES');    $aes = new \CryptAES\CryptAES();

new的时候报错如下:

Fatal error: Call to undefined function CryptAES\mcrypt_module_open() in /Vendor/CryptAES/CryptAES.php on line 89

原因:

php -m | grep 'mcrypt'

找不到,mcrypt扩展,接下来开始安装扩展。

安装:

本来打算通过pecl来安装结果如下:
执行 pecl search mcrypt 来查找 mcrypt 扩展,顺利找到了如下:

Retrieving data...0%.Matched packages, channel pecl.php.net:=======================================Package       Stable/(Latest) Localmcrypt        1.0.5 (stable)        Bindings for the libmcrypt librarymcrypt_filter 0.1.0 (beta)          Applies mcrypt symmetric encryption using stream filters

执行 pecl install mcrypt 来安装mcrypt 扩展,结果不尽人意,如下

pecl/mcrypt requires PHP (version >= 7.2.0, version <= 8.2.0, excluded versions: 8.2.0), installed version is 5.6.40No valid packages foundinstall failed

安装失败原因:
pecl/mcrypt需要PHP(版本>=7.2.0,版本<=8.2.0,排除版本:8.2.0),我本地已经安装使用的php版本为5.6.40

换个方式继续:
1.先查下本地php版本 php -v

PHP 5.6.40 (cli) (built: Jun  7 2022 17:46:34) Copyright (c) 1997-2016 The PHP GroupZend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies    with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

去php官网: link下载对应的php版本如下:
在我习惯使用tar包,所以下载tar.gz的包
3.解压下载好的压缩包后进入php-5.6.40/ext/mcrypt 目录,执行 phpize命令,如下:

Configuring for:PHP Api Version:         20131106Zend Module Api No:      20131226Zend Extension Api No:   220131226……省略若干,总之是没有报错,warning 忽略

执行 先执行 ./configure 再执行 make 命令

执行 make install 命令,结果如下:(扩展文件已经编译好,位置 在 /usr/local/Cellar/php@5.6/5.6.40_4/pecl/20131226/ 下有一个 mcrypt.so 文件)

Installing shared extensions:     /usr/local/Cellar/php@5.6/5.6.40_4/pecl/20131226/

在php.ini中添加扩展配置如下:
在这里插入图片描述
7. 执行 brew services restart php@5.6命令,重启php:

Stopping `php@5.6`... (might take a while)==> Successfully stopped `php@5.6` (label: homebrew.mxcl.php@5.6)==> Successfully started `php@5.6` (label: homebrew.mxcl.php@5.6)

执行 php -m | grep 'mcrypt'找一下mcrypt扩展,找到了:
在这里插入图片描述
再次执行文章最开始的

new \CryptAES\CryptAES(); //不再报错了

总结

本文其实介绍了两种安装php扩展的方式,根据你的需要自己来决定怎么安装吧

  1. pecl install 方式
  2. 编译安装扩展 方式

写在最后

一直以下国内的技术博客,基本上都是 control + c, control +v ,水的一批,搜索引擎搜到的也是千篇一律,小弟不才,花了45分钟写了一篇自己解决问题的经历,如果有帮助到你,希望点赞收藏,原创不易,谢谢支持。

来源地址:https://blog.csdn.net/piayong/article/details/127055571

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯