dyld: 库未加载:/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib,php-fpm,php5.6

10

我正在使用 php5.6 在我的 Mac OS 上,但是 php-fpm 报错:

dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
  Referenced from: /usr/local/opt/php@5.6/sbin/php-fpm
  Reason: image not found

现在我已经安装了最新版本的OpenSSL,无法降级。


1
这可能会对你有所帮助:https://dev59.com/OITba4cB1Zd3GeqP5F-5 - Meena Pintu
PHP 5.6 不再受支持,请不要使用它。 - Dharman
1
@Dharman,但是如何处理遗留项目呢? - Anton Vusatui
这是一个遗留项目吗?为什么它现在停止工作了?如果您正在尝试修复一个遗留项目,值得在问题中提到这一点。 - Dharman
我在本地机器上使用相同的环境进行开发。由于Homebrew更新了OpenSSL版本,它停止工作了。@Dharman - Anton Vusatui
显示剩余2条评论
4个回答

18
为解决此问题,您需要:
  1. 访问https://www.openssl.org/source/old/并下载所需版本。
  2. 打开已下载的存档文件,然后在其中打开终端。
  3. 运行$ make clean$ ./Configure darwin64-x86_64-cc -shared$ make$ make install命令。
  4. libcrypto.1.0.0.dyliblibssl.1.0.0.dylib放入/usr/local/Cellar/openssl/lib/目录中。
现在它可以正常工作了(对于我来说)!

这是否意味着您现在已经安装了 OpenSSL 1.1 和 OpenSSL 1.0? - Pepijn Olivier
@PepijnOlivier,这意味着我需要用于工作的PHP 5.6文件,但默认情况下我的系统使用最新版本。你明白吗?我只是编译了所需的文件并将它们放到了需要的路径中。 - Anton Vusatui
好的,谢谢!我可以确认这适用于 PHP 5.6 和 7.0,它们都依赖于 libcrypto 1.0.0 - Pepijn Olivier
@PepijnOlivier, - Anton Vusatui
运行“make install”时出现以下错误:POD document had syntax errors at /usr/bin/pod2man5.18 line 72. make: *** [install_docs] Error 255``` 有人遇到过类似的问题吗? - imansyaefulloh
@imansyaefulloh 你是在什么系统上运行它的?也许你需要比 darvin64 更适合的东西... - Boštjan Pišler

0

我有一个好消息。 eXolnet 发布了一个修复 openssl bug 的 php@5.6 补丁。所有说明在此处


0

对我来说,以下方法可行(在带有PHP 7.1的macOS Catalina上)

brew uninstall --ignore-dependencies openssl
brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接