请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

php7.2 使用openSSL代替mcrypt的解决方法

继上次在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里面。

接着就是怎么用:
简单版本:
https://blog.csdn.net/ranlv91/article/details/81916393

正在回答 回答被采纳积分+3

2回答

singwa 2019-05-24 16:58:33

咱们这个课程后面会升级下。之前的版本有点老了。


0 回复 有任何疑惑可以回复我~
singwa 2019-05-24 16:57:56

赞。总结的很好。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号