【问题标题】:PHP on Windows / supported TLS versions?Windows 上的 PHP / 支持的 TLS 版本?
【发布时间】:2018-09-30 12:31:32
【问题描述】:

我一直在网上搜索,但我找到的大部分信息都与 Windows 服务器上的 PHP 无关。

TL;DR - 对于 Windows 上的 PHP,哪些版本的 PHP 支持 TLS 1.2,是否有任何附加要求? (openssl 的版本?)

我试图找出的内容与 PCI 以及网站开始仅使用 TLS 连接到 PayPal、Authorize.NET 等服务的要求有关。

显然,Windows 服务器本身必须启用 TLS 1.2(并且禁用旧的 TLS/SSL),这意味着 Server 2008 R2 及更高版本,但我不知道 PHP 需要什么。

在线参考资料还提到 OpenSSL,这可能是支持 TLS 版本的一个因素。网上有文章说windows默认没有安装openssl,但是一个phpinfo告诉我正在使用openssl(SSL版本OpenSSL/0.9.8y)

注意:这个问题是由https://www.experts-exchange.com/questions/28930112/PHP-on-Windows-supported-TLS-versions.html 提出的。我刚好有同样的问题..

【问题讨论】:

标签: php windows ssl openssl tls1.2


【解决方案1】:

Expert's Exchange 上的链接问题似乎也提供了an answer

似乎 PHP 中的 TLS 1.2 需要 openssl 1.0.1,而在 WIndows 中似乎是在 PHP 5.5 及更高版本中编译的

这与我从 windows.php.net 下载的构建版本的经验相符,尽管我还没有对特定的次要版本进行深入测试。

请注意,支持基于构建 PHP(或 PHP curl 扩展)的 OpenSSL 版本,不受 Windows 本身使用的库的影响。因此,在支持 TLS 1.2 的 Windows 版本上运行 PHP 5.3(例如)不会在 PHP 中为您提供 TLS 1.2 支持。

显然,如果您要从源代码编译自己的 PHP 版本,那么答案将取决于您在执行构建时使用的 OpenSSL 和 cURL 库的版本,在这种情况下,两者之间没有内在联系PHP 版本和 TLS 1.2 支持。

但是,使用来自windows.php.net 的预构建二进制文件,PHP 5.5 是最低要求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多