无法打开PHP,dyld:库未加载

时间:2019-12-11 13:23:07

标签: php macos openssl homebrew

我知道还有很多与此错误相关的问题,但是我尝试了所有答案,但没有任何效果。

完全错误

dyld: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
Referenced from: /usr/local/opt/php@7.1/bin/php
Reason: image not found
Abort trap: 6

何时发生错误?

通过RVM将Ruby更新到2.6.3之后。

每当我在终端中输入“ php”时,就会出现错误。

已采取的步骤

  • 基本步骤:重新启动Macbook,打开新的终端窗口。
  • 卸载/重新安装:Node,Openssl,libpng,Ruby
  • 更新/升级:brew
  • 未链接/链接:libidn,自动配置
  • 通过chown -R / usr / local授予我所有权利
  • OpenSSL:$ sudo rm / usr / bin / openssl,brew重新安装openssl@1.1
  • 进行清理
  • 重新安装PHP

版本

  • Mac OS Mojave 10.14.6

  • PHP 7.4

  • Ruby 2.6.3p62
  • RVM 1.29.9

运行Brew Doctor时

Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and which additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew-provided
script of the same name. We found the following "config" scripts:
  /opt/local/bin/python2.7-config
  /opt/local/bin/curl-config
  /opt/local/bin/ncursesw6-config
  /opt/local/bin/pcre-config
  /opt/local/bin/ncurses6-config
  /opt/local/bin/pcap-config

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
(here it posts all the /usr/local/include/node files, but the list exceeds character limitations)

关于如何解决此错误的任何想法?

2 个答案:

答案 0 :(得分:3)

我有类似的问题,可以通过以下方式解决:

brew reinstall php

答案 1 :(得分:1)

我会为可能遇到类似问题的其他人回答我自己的问题

卸载并重新安装了每个桶啤酒后,我发现了以下解决方案:

  1. 卸载PHP
  2. 运行冲泡清理
  3. 检查/ usr / local / opt文件夹中是否有名为php的文件夹
  4. 删除文件夹(在我的情况下为“ php@7.1”)
  5. 打开一个新的终端窗口
  6. 在终端中运行“ brew search php”,并确保未安装php桶。
  7. 只需在终端中输入“ php -v”。对我来说,这显示了一个版本号,表明php在某一时刻已安装而不进行brew。您可以选择卸载此版本或将其更新为最新版本。

结论

就我而言,我认为这仅仅是因为已经安装了PHP 7.1,并且我通过brew安装了第二个版本(7.4)。

错误“引用自:/usr/local/opt/php@7.1/bin/php”显然是在此文件夹中搜索某些内容,并将其删除后,该错误停止了。