PHP提示dyld: Library not loaded问题解决
Mac在命令行执行php命令时,如php -v 有错误提示:
dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0..dylib
Referenced from: /usr/local/bin/php
Reason: image not found
表面看是缺少了libcrypto.1.0.0文件,mac自带的openssl是0.9.8,可以命令行查看下:
/usr/bin/openssl version OpenSSL 0.9.8zh Jan
之前已经使用brew安装了最新的openssl,版本1.1.1g。brew默认安装目录是没有openssl的目录,都是使用openssl@1.1这样的目录,使用命令
brew switch openssl 1.1
建立openssl目录,使用的是切换后的版本1.1,由于是1.1版本,没有1.0,使用软链 ln -s 建立文件链接到1.1。
照理说这样是可行的,但依然会提示错误:
dyld: Symbol not found: _SSL_library_init
查阅资料,openssl1.1跟1.0变化比较大。这种变化导致部分使用的1.0版本的软件无法兼容1.1,最新版本的php可能有解决此问题,这个我就没有去试验,我使用的是7.1.33版本。

以上载图来自:https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes
这样就不能使用1.1版本了,brew当前已经去除了openssl1.0的支持,只有1.1版本,mac版本又太低,这个时候只能选择自己编译安装。
下载地址:https://www.openssl.org/source/old/1.0.2/
选择一个版本下载到本地,开始安装:
./Configure darwin64-x86_64-cc shared --prefix=/usr/local/
记得要加上shared,几乎网上资料都没有说明这点,导致安装多次都没有成功。只有加shared参数才会生成dylib文件。
make
sudo make install
在/usr/local/目录下安装需要管理员权限,所以要加上sudo,也可以选择另外的目录,将include, lib和bin等目录安装在同一个目录,后面再另外指定就可以。
安装完成后,默认的openssl已经是最新安装的版本了。
which openssl
/usr/local/bin/openssl
到这一步还没完成,PHP的openssl依赖也需要一并调整。
使用命令查看PHP当前依赖:
otool -L /usr/local/bin/php
修改libcrypto和libssl的路径:
install_name_tool -change /usr/local/opt/openssl/lib/libcrypto.1.1.dylib /usr/local/lib/libcrypto.1.0..dylib /usr/local/bin/php install_name_tool -change /usr/local/opt/openssl/lib/libssl.1.1.dylib /usr/local/lib/libssl.1.0..dylib /usr/local/bin/php
这样,问题解决。
PHP提示dyld: Library not loaded问题解决的更多相关文章
- xcode解决问题dyld: Library not loaded
一.问题 编译通过,联机调试时,应用启动闪退,XCODE的Output出现提示: dyld: Library not loaded: /System/Library/Frameworks/AdSupp ...
- XCode 添加自定义framework运行时出现dyld: Library not loaded的解决方法
XCode添加自定义framework运行时出现dyld: Library not loaded的解决方法 在使用自定义的framework运行时,会出现如下的错误: dyld: Library no ...
- dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.63.dylib
本地环境报错有 3 处,如下: 1. 执行命令,无论执行 php 的什么命令,统一报错 dyld: Library not loaded: /usr/local/opt/icu4c/lib/libic ...
- 解决 dyld: Library not loaded:Reason: image not found
在使用第三方framework时,直接把framework拖到项目中,运行时报错: dyld: Library not loaded: @rpath/ZipZap.framework/ZipZap R ...
- Swift真机调试时报错dyld: Library not loaded: @rpath/libswiftCore.dylib
dyld: Library not loaded: @rpath/libswiftCore.dylib Referenced from: /private/var/mobile/Containers/ ...
- [iOS Xcode8报错]dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserN
[iOS Xcode8报错]dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserN ...
- dyld: Library not loaded: @rpath/XCTest.framework/XCTest Referenced from: /private/var/mobile/Conta
dyld: Library not loaded: @rpath/XCTest.framework/XCTest Referenced from: /private/var/mobile/Cont ...
- iOS dyld: Library not loaded 报错解决
Xcode 用的是10.1 版本打的苹果包在 ios系统10.0 以上可以正常运行 但是系统9.3的手机安装后直接运行就崩溃 后来插上电脑联调 报错 dyld: Library not loaded: ...
- 关于dyld: Library not loaded
在接入智凡迪的sdk过程中,遇到以下问题: dyld: Library not loaded: @rpath/SDKFramework.framework/SDKFramework Referen ...
随机推荐
- turtle 画一朵花
操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令1. 运动命令:forward(degree) #向前移动距离degree代表距离backward(degree ...
- 笨办法学python - 专业程序员的养成完整版PDF免费下载_百度云盘
笨办法学python - 专业程序员的养成完整版PDF免费下载_百度云盘 提取码:xaln 怎样阅读本书 由于本书结构独特,你必须在学习时遵守几条规则 录入所有代码,禁止复制粘贴 一字不差地录入代码 ...
- Flutter学习笔记(37)--动画曲线Curves 效果
如需转载,请注明出处:Flutter学习笔记(37)--动画曲线Curves 效果
- 解决github打不开问题
2020.06.22 使用以下方式: 在https://github.com.ipaddress.com/找到: 在https://fastly.net.ipaddress.com/github.gl ...
- JAVA SOCKET 通信总结 BIO、NIO、AIO ( NIO 2) 的区别和总结
1 同步 指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪 自己上街买衣服,自己亲自干这件事,别的事干不了.2 异步 异步是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已 ...
- skywalking的核心概念
在 SkyWalking 中,TraceSegment 是一个介于 Trace 与 Span 之间的概念,它是一条 Trace 的一段,可以包含多个 Span.在微服务架构中,一个请求基本都会涉及跨进 ...
- Flask01-HelloWorld
# flask学习 参考:http://www.pythondoc.com/flask-mega-tutorial/ ## python3. 默认支持虚拟环境使用(用最简单的方法,解决问题) wget ...
- 重学 Java 设计模式:实战中介者模式「按照Mybaits原理手写ORM框架,给JDBC方式操作数据库增加中介者场景」
作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 同龄人的差距是从什么时候拉开的 同样的幼儿园.同样的小学.一样 ...
- 车辆运动控制算法——MPC
MPC是模型预测控制算法,在车辆运动跟踪轨迹的控制中发挥很大的优势 基础的不多说,下面记录我对LQR/MPC/二次规划问题的理解 我们从LQR来引出MPC LQR的能量函数,目的是求函数J最小,即用最 ...
- 基础的markdown用法
首先推荐一款在线的markdown编辑器:Editor.md 一篇博客里面就是文字与图片的集合.markdown其实就是编辑文字,插入图片的工具.对于大多数人来说,学习几个标签就可以了. 标题 #** ...