【问题标题】:Can't open PHP, dyld: Library not loaded无法打开 PHP,dyld:库未加载
【发布时间】:2019-12-11 13:23:07
【问题描述】:

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

完全错误

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、autoconf
  • 通过 chown -R /usr/local 授予自己所有权利
  • OpenSSL: $ sudo rm /usr/bin/openssl, brew reinstall 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)

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

【问题讨论】:

    标签: php macos openssl homebrew


    【解决方案1】:

    我有类似的问题,我用这种方式解决了:

    brew reinstall php
    

    【讨论】:

    • 也为我工作!
    • brew reinstall php@7.4 如果你没有使用最新的 PHP
    【解决方案2】:

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

    在卸载并重新安装每桶 brew 后,我找到了以下解决方案:

    1. 卸载 PHP
    2. 运行 brew cleanup
    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)。

    错误'Referenced from: /usr/local/opt/php@7.1/bin/php'显然是在这个文件夹中搜索东西,删除后,错误停止了。

    【讨论】:

    • 这很有帮助!我只想补充一点,就我而言,我只需要brew uninstall php@5.6,由于某种原因,它位于 /usr/local/opt/ 文件夹中。完成后,一切运行良好。
    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    • 2018-10-01
    • 2015-02-05
    • 2015-11-27
    • 1970-01-01
    相关资源
    最近更新 更多