最新消息:

MacOS下安装openssl遇到的坑

学习笔记 Skiychan 1260浏览 0评论

这两天,打算用 thinkphp5 来写一个 api,结果死活装不上。
然后打算用 composer 来处理,结果死活用不了。因为 openssl 是0.9.8的,太老了不让使用。
接着就进了装 openssl 的坑。

首先,去openssl官网下载了”OpenSSL_1_0_1t.tar.gz”的安装包,解压并且编译:
(编译时都能遇到各种坑,因为 MacOS 是64位的,要使用darwin64-x86_64-cc。参数一丢丢的,麻烦死)
openssl编译命令是:

接着去 PHP 官网下载 “php-7.6.6.tar.gz”的安装包,解压并且编译:
(这个死了好多次,为了这货花了我两天)

坑:是要先安装 openssl,然后–with-openssl参数会自动判断路径并且安装的;
错误的参数1:–with-openssl-dir=xxxx/openssl 参数错误了
错误的参数2:–with-openssl=xxxx/Downloads/openssl 并非安装包的路径

编译时出错:

打开php7源码根目录,打开Makefile文件,大概在110行左右EXTRA_LIBS = 这句话这里,这个地方不能用系统生成的-lcrypto和-lssl,把这两句替换成
(用 find /usr -name libcrypto.dylib 命令来查找它们所在的位置)
/usr/local/lib/libcrypto.dylib /usr/local/lib/libssl.dylib (这个是我自己的)
这个参考了:http://blog.51php.org/archives/1219 的文章(终于有一篇有用的文章了)

再次执行make 即可,请不要再次执行./configure

提示:安装完成后 php 就可以正常运行,
若曾经安装过 openssl.so,则ext部分需要把 php.ini openssl 注释掉或者清掉,否则会报错:Module ‘openssl’ already loaded in Unknown on line 0

期间遇到的问题:
编译时还报了好多种错误:

还用 brew 来安装过 openssl;

唉,如此简单的东西。结果。。。
生命在于折腾啊。。。

转载请注明:SKIY开发笔记 » MacOS下安装openssl遇到的坑

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址