mac 安装 php5.6 扩展 mcrypt
报错信息:
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) Local
mcrypt 1.0.5 (stable) Bindings for the libmcrypt library
mcrypt_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.40
No valid packages found
install 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 Group
Zend 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
2.去php官网: link下载对应的php版本如下:
3.解压下载好的压缩包后进入php-5.6.40/ext/mcrypt
目录,执行 phpize
命令,如下:
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
……省略若干,总之是没有报错,warning 忽略
4.执行 先执行 ./configure
再执行 make
命令
5.执行 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/
6.在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扩展的方式,根据你的需要自己来决定怎么安装吧
- pecl install 方式
- 编译安装扩展 方式
写在最后
一直以下国内的技术博客,基本上都是 control c, control v ,水的一批,搜索引擎搜到的也是千篇一律,小弟不才,花了45分钟写了一篇自己解决问题的经历,如果有帮助到你,希望点赞收藏,原创不易,谢谢支持。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgaejfj
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13