---- php-5.5.0RC2/ext/mysql/php_mysql.c~ 2013-06-11 22:12:11.000000000 +0300
-+++ php-5.5.0RC2/ext/mysql/php_mysql.c 2013-06-11 22:16:04.192270533 +0300
-@@ -360,6 +360,7 @@
- PHP_INI_ENTRY("mysql.default_port", NULL, PHP_INI_ALL, OnMySQLPort)
+diff -urNp -x '*.orig' php-5.6.40.org/ext/mysql/php_mysql.c php-5.6.40/ext/mysql/php_mysql.c
+--- php-5.6.40.org/ext/mysql/php_mysql.c 2019-01-09 10:54:13.000000000 +0100
++++ php-5.6.40/ext/mysql/php_mysql.c 2021-08-23 23:19:37.539114406 +0200
+@@ -506,6 +506,7 @@ PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("mysql.default_socket", NULL, PHP_INI_ALL, OnUpdateStringUnempty, default_socket, zend_mysql_globals, mysql_globals)
+ #endif
STD_PHP_INI_ENTRY("mysql.connect_timeout", "60", PHP_INI_ALL, OnUpdateLong, connect_timeout, zend_mysql_globals, mysql_globals)
+ STD_PHP_INI_ENTRY("mysql.connect_charset", NULL, PHP_INI_ALL, OnUpdateString, connect_charset, zend_mysql_globals, mysql_globals)
STD_PHP_INI_BOOLEAN("mysql.trace_mode", "0", PHP_INI_ALL, OnUpdateLong, trace_mode, zend_mysql_globals, mysql_globals)
+ STD_PHP_INI_BOOLEAN("mysql.allow_local_infile", "1", PHP_INI_SYSTEM, OnUpdateLong, allow_local_infile, zend_mysql_globals, mysql_globals)
PHP_INI_END()
- /* }}} */
-@@ -376,6 +377,7 @@
+@@ -523,6 +524,7 @@ static PHP_GINIT_FUNCTION(mysql)
mysql_globals->connect_errno = 0;
mysql_globals->connect_error = NULL;
mysql_globals->connect_timeout = 0;
+ mysql_globals->connect_charset = NULL;
mysql_globals->trace_mode = 0;
+ mysql_globals->allow_local_infile = 1;
mysql_globals->result_allocated = 0;
- }
-@@ -723,6 +723,7 @@
+@@ -721,6 +723,7 @@ static void php_mysql_do_connect(INTERNA
{
char *user=NULL, *passwd=NULL, *host_and_port=NULL, *socket=NULL, *tmp=NULL, *host=NULL;
int user_len = 0, passwd_len = 0, host_len = 0;
char *hashed_details=NULL;
int hashed_details_length, port = MYSQL_PORT;
long client_flags = 0;
-@@ -527,6 +530,7 @@
-
+@@ -744,6 +747,7 @@ static void php_mysql_do_connect(INTERNA
+ #endif
connect_timeout = MySG(connect_timeout);
+ connect_charset = MySG(connect_charset);
socket = MySG(default_socket);
---- php-5.3.1/ext/mysql/php_mysql.c~ 2010-02-20 00:51:52.000000000 +0200
-+++ php-5.3.1/ext/mysql/php_mysql.c 2010-02-20 00:55:43.475653264 +0200
-@@ -777,6 +777,10 @@
+@@ -885,6 +889,10 @@ static void php_mysql_do_connect(INTERNA
if (connect_timeout != -1) {
mysql_options(mysql->conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout);
}
#ifndef MYSQL_USE_MYSQLND
if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL)
#else
-@@ -826,6 +830,8 @@
- #endif
+@@ -933,6 +941,8 @@ static void php_mysql_do_connect(INTERNA
+ #endif
if (mysql_ping(mysql->conn)) {
if (mysql_errno(mysql->conn) == 2006) {
+ if (connect_charset != NULL)
#ifndef MYSQL_USE_MYSQLND
if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL)
#else
-@@ -898,6 +904,9 @@
- if (connect_timeout != -1)
- mysql_options(mysql->conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout);
+@@ -1012,6 +1022,9 @@ static void php_mysql_do_connect(INTERNA
+ mysql_options(mysql->conn, MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout);
+ }
+ if (connect_charset != NULL)
+ mysql_options(mysql->conn, MYSQL_SET_CHARSET_NAME, connect_charset);
+
#ifndef MYSQL_USE_MYSQLND
- if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL)
+ if (mysql_real_connect(mysql->conn, host, user, passwd, NULL, port, socket, client_flags)==NULL)
#else
---- php-5.2.5_p20080206.orig/ext/mysql/php_mysql_structs.h 2008-02-06 14:22:57.510605687 +0100
-+++ php-5.2.5_p20080206/ext/mysql/php_mysql_structs.h 2008-02-06 14:23:27.764590355 +0100
-@@ -103,6 +103,7 @@
+diff -urNp -x '*.orig' php-5.6.40.org/ext/mysql/php_mysql_structs.h php-5.6.40/ext/mysql/php_mysql_structs.h
+--- php-5.6.40.org/ext/mysql/php_mysql_structs.h 2019-01-09 10:54:13.000000000 +0100
++++ php-5.6.40/ext/mysql/php_mysql_structs.h 2021-08-23 23:19:37.539114406 +0200
+@@ -118,6 +118,7 @@ ZEND_BEGIN_MODULE_GLOBALS(mysql)
long default_port;
char *default_host, *default_user, *default_password;
char *default_socket;