Merge branch 'PHP-7.0' into PHP-7.1

This commit is contained in:
Nikita Popov 2017-03-09 17:31:52 +01:00
commit 314ef0ff69
5 changed files with 23 additions and 0 deletions

4
NEWS
View file

@ -12,6 +12,10 @@ PHP NEWS
. Fixed bug #74004 (LIBXML_NOWARNING flag ingnored on loadHTML*). . Fixed bug #74004 (LIBXML_NOWARNING flag ingnored on loadHTML*).
(somedaysummer) (somedaysummer)
- PDO MySQL:
. Fixed bug #71003 (Expose MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT to PDO
interface). (Thomas Orozco)
- SPL: - SPL:
. Fixed bug #74058 (ArrayObject can not notice changes). (Andrew Nester) . Fixed bug #74058 (ArrayObject can not notice changes). (Andrew Nester)

View file

@ -735,6 +735,18 @@ static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval *driver_options)
} }
} }
#endif #endif
#ifdef PDO_USE_MYSQLND
{
zend_long ssl_verify_cert = pdo_attr_lval(driver_options,
PDO_MYSQL_ATTR_SSL_VERIFY_SERVER_CERT, -1);
if (ssl_verify_cert != -1) {
connect_opts |= ssl_verify_cert ?
CLIENT_SSL_VERIFY_SERVER_CERT:
CLIENT_SSL_DONT_VERIFY_SERVER_CERT;
}
}
#endif
} }
#ifdef PDO_MYSQL_HAS_CHARSET #ifdef PDO_MYSQL_HAS_CHARSET

View file

@ -130,6 +130,9 @@ static PHP_MINIT_FUNCTION(pdo_mysql)
REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SERVER_PUBLIC_KEY", (zend_long)PDO_MYSQL_ATTR_SERVER_PUBLIC_KEY); REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SERVER_PUBLIC_KEY", (zend_long)PDO_MYSQL_ATTR_SERVER_PUBLIC_KEY);
#endif #endif
REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_MULTI_STATEMENTS", (zend_long)PDO_MYSQL_ATTR_MULTI_STATEMENTS); REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_MULTI_STATEMENTS", (zend_long)PDO_MYSQL_ATTR_MULTI_STATEMENTS);
#ifdef PDO_USE_MYSQLND
REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_VERIFY_SERVER_CERT", (zend_long)PDO_MYSQL_ATTR_SSL_VERIFY_SERVER_CERT);
#endif
#ifdef PDO_USE_MYSQLND #ifdef PDO_USE_MYSQLND
mysqlnd_reverse_api_register_api(&pdo_mysql_reverse_api); mysqlnd_reverse_api_register_api(&pdo_mysql_reverse_api);

View file

@ -179,6 +179,9 @@ enum {
PDO_MYSQL_ATTR_SERVER_PUBLIC_KEY, PDO_MYSQL_ATTR_SERVER_PUBLIC_KEY,
#endif #endif
PDO_MYSQL_ATTR_MULTI_STATEMENTS, PDO_MYSQL_ATTR_MULTI_STATEMENTS,
#ifdef PDO_USE_MYSQLND
PDO_MYSQL_ATTR_SSL_VERIFY_SERVER_CERT,
#endif
}; };
#endif #endif

View file

@ -27,6 +27,7 @@ if (!extension_loaded('mysqli') && !extension_loaded('mysqlnd')) {
"MYSQL_ATTR_SSL_CIPHER" => true, "MYSQL_ATTR_SSL_CIPHER" => true,
"MYSQL_ATTR_COMPRESS" => true, "MYSQL_ATTR_COMPRESS" => true,
"MYSQL_ATTR_MULTI_STATEMENTS" => true, "MYSQL_ATTR_MULTI_STATEMENTS" => true,
"MYSQL_ATTR_SSL_VERIFY_SERVER_CERT" => true,
); );
if (!MySQLPDOTest::isPDOMySQLnd()) { if (!MySQLPDOTest::isPDOMySQLnd()) {