【问题标题】:How to compile PHP with new OpenSSL library如何使用新的 OpenSSL 库编译 PHP
【发布时间】:2015-07-03 18:22:13
【问题描述】:

我正在尝试使用 OpenSSL 编译 PHP。只需使用 --with-openssl=/usr 进行配置,即可与默认的 OpenSSL 库 0.9.6 一起使用。

但是,我安装了一个新的 OpenSSL 库 1.0.0,我想用它来编译 PHP。该库位于/usr/local/ssl/bin

不幸的是,这不起作用:

configure: error: Cannot find OpenSSL's <evp.h>

如何使用新的 OpenSSL 库编译 PHP?

【问题讨论】:

  • 您是否尝试过配置它:--with-openssl=/usr/local?或/usr/local/ssl?

标签: php linux ubuntu compilation openssl


【解决方案1】:

通过重新编译 curl 来修复它,因为 curl 的编译版本也使用旧的 openssl lib

sudo ./configure -disable-shared -with-ssl=/usr/local/ssl

编译curl后,又编译了php --with-openssl=/usr phpinfo告诉我它正在使用新的openssl lib。

【讨论】:

  • 建议的命令sudo ./configure -disable-shared -with-ssl=/usr/local/ssl if 用于在重新编译 PHP 之前构建 curl
  • php7.4> bugs.php.net/bug.php?id=79313 --with-[选项] 已更改
【解决方案2】:

我遇到了同样的问题,但在编译之前 (./configure -disable-shared -with-ssl=/usr/local/ssl) 我删除了 (yum openssl-devel) 并且它工作了

【讨论】:

  • yum install openssl-devel 为我工作。我正在使用二进制构建 PHP 版本 8,但由于 openssl 而引发错误。但是使用 yum install openssl-devel..神奇的事情发生了
【解决方案3】:

对于那些使用 MacPorts 的人来说,添加 ssl 非常简单:

$ sudo port install php71-openssl

就是这样。 Ports 将使用 openssl 为您重新编译 php(在本例中为 7.1 版)。

【讨论】:

    猜你喜欢
    • 2015-01-18
    • 1970-01-01
    • 2023-03-31
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 2015-01-21
    • 1970-01-01
    相关资源
    最近更新 更多