summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/mysql/php_mysql.c3
-rw-r--r--ext/mysqli/mysqli_nonapi.c7
2 files changed, 7 insertions, 3 deletions
diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c
index 6908b294bd..237bdb54e8 100644
--- a/ext/mysql/php_mysql.c
+++ b/ext/mysql/php_mysql.c
@@ -794,6 +794,9 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
mysql->active_result_id = 0;
mysql->multi_query = client_flags & CLIENT_MULTI_STATEMENTS? 1:0;
/* ensure that the link did not die */
+#if defined(MYSQL_USE_MYSQLND)
+ mysqlnd_end_psession(mysql->conn);
+#endif
if (mysql_ping(mysql->conn)) {
if (mysql_errno(mysql->conn) == 2006) {
#ifndef MYSQL_USE_MYSQLND
diff --git a/ext/mysqli/mysqli_nonapi.c b/ext/mysqli/mysqli_nonapi.c
index 8c67e30799..4cc654e274 100644
--- a/ext/mysqli/mysqli_nonapi.c
+++ b/ext/mysqli/mysqli_nonapi.c
@@ -162,8 +162,12 @@ void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_conne
mysql->mysql = zend_ptr_stack_pop(&plist->free_links);
MyG(num_inactive_persistent)--;
+#if defined(MYSQLI_USE_MYSQLND)
+ mysqlnd_end_psession(mysql->mysql);
+#endif
/* reset variables */
/* todo: option for ping or change_user */
+
#if G0
if (!mysql_change_user(mysql->mysql, username, passwd, dbname)) {
#else
@@ -175,9 +179,6 @@ void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_conne
MyG(num_active_persistent)++;
goto end;
} else {
-#if defined(MYSQLI_USE_MYSQLND)
- mysqlnd_end_psession(mysql->mysql);
-#endif
mysqli_close(mysql->mysql, MYSQLI_CLOSE_IMPLICIT);
mysql->mysql = NULL;
}