PHP 5.3.3 和 Apache 的 SSL 支持

PHP 5.3.3 和 Apache 的 SSL 支持

经过一整天的研究,为什么我无法让我的应用程序使用 PHP PDO 通过 SSL 连接到远程服务器,我发现了 PDO::MYSQL_ATTR_SSL...,但它们似乎只存在于 5.3.7 或更高版本。

我的问题是这样的。 SSL 支持仅适用于 PHP 5.3.7 及更高版本吗?还是我的结论不正确?

答案1

根据文档,ssl 支持在 5.3.7 中引入。

更新日志:

  • 5.4.0 MySQL 客户端库 4.1 及以下版本不再受支持。
  • 5.3.9 增加了对 mysqlnd 和 OpenSSL 的 SSL 支持。
  • 5.3.7 增加了对 libmysqlclient 和 OpenSSL 的 SSL 支持。

和属性仅适用于 5.3.7 或更高版本。

PDO::MYSQL_ATTR_SSL_CA (integer)

    The file path to the SSL certificate authority.

    This exists as of PHP 5.3.7.
PDO::MYSQL_ATTR_SSL_CAPATH (integer)

    The file path to the directory that contains the trusted SSL CA certificates, which are stored in PEM format.

    This exists as of PHP 5.3.7.
PDO::MYSQL_ATTR_SSL_CERT (integer)

    The file path to the SSL certificate.

    This exists as of PHP 5.3.7.
PDO::MYSQL_ATTR_SSL_CIPHER (integer)

    A list of one or more permissible ciphers to use for SSL encryption, in a format understood by OpenSSL. For example: DHE-RSA-AES256-SHA:AES128-SHA

    This exists as of PHP 5.3.7.
PDO::MYSQL_ATTR_SSL_KEY (integer)

    The file path to the SSL key.

    This exists as of PHP 5.3.7.

另请参阅:http://php.net/manual/en/ref.pdo-mysql.php

答案2

要获得 SSL 支持,您必须启用php_openssl模块。否则,您没有库来建立连接。这里与file_get_contents例如。

检查模块是否已激活以及openssl是否已安装。

如果您使用 Linux 系统,您可以通过包管理器安装该模块。

相关内容