【问题标题】:SSL broken after pear channel-update pear.php.netpear 通道更新 pear.php.net 后 SSL 中断
【发布时间】:2018-02-05 17:01:14
【问题描述】:

我从源安装了php7.2.2,并开始通过pecl install sqlsrv获取mssql扩展。它回复了pecl search sqlsrv,但通知我运行pear channel-update pear.php.net,之后搜索和安装都无法使用此错误消息:

Connection to `ssl://pecl.php.net:443' failed: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?

我阅读了各种建议,例如 http://forums.devshed.com/php-development-5/ssl-issue-pear-channel-update-pear-php-net-970623.htmlSSL issue after pear channel-update pear.php.net , 但是我在任何地方都没有“openssl.so”库(在某处我读过 php7 已弃用它),php -r "print_r(openssl_get_cert_locations());" 发现函数未定义,并且在 php.ini 中引用从http://curl.haxx.se/ca/cacert.pem 下载的openssl.cafile=/opt/php/lib/php/extensions/no-debug-non-zts-20170718/cacert.pem(不出所料)证明是徒劳的。 如果在 silly 更新之前它运行良好,会发生什么?

【问题讨论】:

  • 我重建了整个东西,确切的按摩是WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update。好吧,伙计们,不要这样做......

标签: php ssl pear httpd.conf php-7.2


【解决方案1】:

我在使用 OpenSUSE LEAP 15.0 时遇到过类似问题。

pear list-updates 之后,我收到一条警告说我必须更新 PECL 通道协议。在pear channel-update pecl.php.net 之后,每当我尝试安装或更新 PECL 扩展时,我都会收到以下错误。

与 `ssl://pecl.php.net:443' 的连接失败:无法找到套接字传输“ssl” - 您在配置 PHP 时是否忘记启用它?

但是,PEAR 工作正常。

检查 PEAR 和 PECL 命令之间的差异,我发现在 PECL 中运行 PHP 的最后一行使用了告诉 PHP 不要使用 php.ini 的 -n 选项。未启用 OpenSSL 扩展,因此未注册 SSL 和 TLS 套接字传输。

我不知道这是否是故意的,但我认为这有点不一致。

【讨论】:

    猜你喜欢
    • 2015-10-28
    • 2014-04-30
    • 2018-08-20
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多