【问题标题】:How can I resolve Homebrew openssl conflicts?如何解决 Homebrew openssl 冲突?
【发布时间】:2019-12-21 13:55:16
【问题描述】:

我在 High Sierra 10.13.6 上,最近在本地开发工作的 Homebrew 环境中遇到了问题。我似乎无法弄清楚是什么问题。任何 Composer 或 Drush 命令都会给出这个

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

我重新启动了我的计算机,当我尝试启动 apachectl;我明白了

httpd: Syntax error on line 179 of /usr/local/etc/httpd/httpd.conf: Cannot load /usr/local/Cellar/php71/7.1.12_23/libexec/apache2/libphp7.so into server: dlopen(/usr/local/Cellar/php71/7.1.12_23/libexec/apache2/libphp7.so, 10): Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib\n  Referenced from: /usr/local/Cellar/php71/7.1.12_23/libexec/apache2/libphp7.so\n  Reason: image not found

我认为这是因为路径在寻找openssl,但是在Brew列表中,我没有openssl了,现在是openssl@1.1

Bash 配置文件具有以下内容:

export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

$which openssl 返回

/usr/local/opt/openssl@1.1/bin/openssl

我能做些什么来解决这个问题?也许我错过了明显的。

【问题讨论】:

    标签: apache openssl homebrew


    【解决方案1】:

    所以万一有人遇到这种情况。我自己设法解决了这个问题。

    首先我在 usr/local/etc/httpd/httpd.conf 文件中注释掉了以下行

    LoadModule php7_module        /usr/local/Cellar/php71/7.1.12_23/libexec/apache2/libphp7.so
    

    接下来我跑了

    $brew install php@7.3
    

    我在 .bash_profile 中添加了以下几行

    export PATH="/usr/local/opt/php@7.3/bin:$PATH"
    export PATH="/usr/local/opt/php@7.3/sbin:$PATH"
    

    然后将以下行添加到 usr/local/etc/httpd/httpd.conf 文件中

    LoadModule php7_module         /usr/local/Cellar/php@7.3/7.3.13/lib/httpd/modules/libphp7.so
    

    然后我重新启动计算机然后运行

    $brew services start php@7.3
    $brew services restart httpd
    $sudo apachectl -k restart 
    

    然后我遇到了一些 sql 连接问题。

    $brew upgrade mariadb 
    $brew services restart mariadb
    $brew services restart httpd
    $sudo apachectl -k restart 
    

    一切都在一起了。希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      如果这有助于其他不愿意重新安装 PHP 的人:

      ln -s /usr/local/Cellar/openssl/1.0.2s/lib/libcrypto.1.0.0.dylib /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
      ln -s /usr/local/Cellar/openssl/1.0.2s/lib/libssl.1.0.0.dylib /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-09
        • 2016-02-22
        • 2013-11-09
        • 1970-01-01
        • 2012-07-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多