php7.2 使用openSSL代替mcrypt的解决方法
来源:6-3 API接口数据安全解决方案之授权码sign解剖

慕粉3918266
2019-05-24
继上次在uploadify那块踩坑之后,又出现了第二个让我折腾半天的坑。真希望老师能把这些已经过时的东西重新更新一遍,不要浪费学员的时间。
mycrypt在PHP7.1之后已经被弃用了,需要使用openSSL扩展,而免费版本的MAMP什么都需要手动配置,为了加上这个openSSL库我也是花了好多时间。真心推荐有钱的买个正版的pro,我不想花钱也不想盗版就自己折腾了。
总结一下,我大概经过了这些步骤(MAC OS 系统) ,不是教程,仅供观感它有多麻烦:
- 官网下载release版本的php (对应MAMP使用版本,这里是7.2.8)
- 解压,cd到下载路径下面 cd ext/openssl
- 修改 config0.m4 为config.m4 (使用cp命令)
- 找到phpize 在当前路径输入/你的phpize所在目录/phpize
- brew install openssl
- brew install autoconf
- 安装完毕,按提示添加环境配置;获取安装目录,一般在/usr/local//usr/local/Cellar/openssl/ 目录下,这里生成了1.0.2r目录
- 找到php-config所在目录,这里是/Applications/MAMP/bin/php/php7.2.8/bin/php-config
- 仍然在 ext/openssl目录下 ./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.8/bin/php-config --with-openssl=/usr/local/Cellar/openssl/1.0.2r/
- 注意!如果提示Cannot find OpenSSL’s <evp.h> 这个表明要么环境变量没配,要么openssl指定的路径不对!之前按照网上攻略来发现是/usr/local/Cellar/openssl/1.0.2r/ 写错了
- 执行make
- 执行make install
- 如果成功,会出现open.so安装好了的地址 Installing shared extensions: /Applications/MAMP/bin/php/php7.2.8/lib/php/extensions/no-debug-non-zts-20170718/
- 找到php.in 添加extension=openssl.so
- 重启一下,这时候 phpinfo() 如果出现openSSL信息则表示安装成功
总结一下就是用源码重新编译出openssl.so,然后配置到MAMP的PHP里面。
具体可以看或者自己搜其他的:
http://blog.chinaunix.net/uid-25657707-id-2856117.html
https://www.haorooms.com/post/php_openssl
接着就是怎么用:
简单版本:
https://blog.csdn.net/ranlv91/article/details/81916393
写回答
2回答
-
singwa
2019-05-24
咱们这个课程后面会升级下。之前的版本有点老了。
00 -
singwa
2019-05-24
赞。总结的很好。
00
相似问题