summaryrefslogtreecommitdiff
path: root/ext/mysql
diff options
context:
space:
mode:
authorAndrey Hristov <andrey@php.net>2008-07-21 12:58:51 +0000
committerAndrey Hristov <andrey@php.net>2008-07-21 12:58:51 +0000
commit5e79f2c47616cba4e4dbb710caed7486b1df75a6 (patch)
tree94ca08698824cd9f99c53be6e898aaddd9c56511 /ext/mysql
parentee40f557a7119845b4311e732c6b797ab44e83e5 (diff)
downloadphp-git-5e79f2c47616cba4e4dbb710caed7486b1df75a6.tar.gz
Fix for bug#45179 --with-mysql-sock fails to compile & work
Now --with-mysql-sock controls all mysql extensions. If provided it will be the default value as it was set in php.ini . php.ini will override it for ext/mysql and ext/mysqli but not for pdo_mysql
Diffstat (limited to 'ext/mysql')
-rw-r--r--ext/mysql/config.m46
-rw-r--r--ext/mysql/php_mysql.c4
-rw-r--r--ext/mysql/php_mysql_structs.h7
3 files changed, 14 insertions, 3 deletions
diff --git a/ext/mysql/config.m4 b/ext/mysql/config.m4
index 6a73ad63b7..8de15e8bbb 100644
--- a/ext/mysql/config.m4
+++ b/ext/mysql/config.m4
@@ -31,7 +31,7 @@ AC_DEFUN([PHP_MYSQL_SOCKET_SEARCH], [
done
if test -n "$MYSQL_SOCK"; then
- AC_DEFINE_UNQUOTED(MYSQL_UNIX_ADDR, "$MYSQL_SOCK", [ ])
+ AC_DEFINE_UNQUOTED(PHP_MYSQL_UNIX_SOCK_ADDR, "$MYSQL_SOCK", [ ])
AC_MSG_RESULT([$MYSQL_SOCK])
else
AC_MSG_RESULT([no])
@@ -45,7 +45,7 @@ PHP_ARG_WITH(mysql, for MySQL support,
the MySQL native driver will be used [/usr/local]])
PHP_ARG_WITH(mysql-sock, for specified location of the MySQL UNIX socket,
-[ --with-mysql-sock[=DIR] MySQL: Location of the MySQL unix socket pointer.
+[ --with-mysql-sock[=DIR] MySQL/MySQLi/PDO_MYSQL: Location of the MySQL unix socket pointer.
If unspecified, the default locations are searched], no, no)
if test -z "$PHP_ZLIB_DIR"; then
@@ -62,7 +62,7 @@ elif test "$PHP_MYSQL" != "no"; then
AC_MSG_CHECKING([for MySQL UNIX socket location])
if test "$PHP_MYSQL_SOCK" != "no" && test "$PHP_MYSQL_SOCK" != "yes"; then
MYSQL_SOCK=$PHP_MYSQL_SOCK
- AC_DEFINE_UNQUOTED(MYSQL_UNIX_ADDR, "$MYSQL_SOCK", [ ])
+ AC_DEFINE_UNQUOTED(PHP_MYSQL_UNIX_SOCK_ADDR, "$MYSQL_SOCK", [ ])
AC_MSG_RESULT([$MYSQL_SOCK])
elif test "$PHP_MYSQL" = "yes" || test "$PHP_MYSQL_SOCK" = "yes"; then
PHP_MYSQL_SOCKET_SEARCH
diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c
index f38aff2957..a70a5e5b6b 100644
--- a/ext/mysql/php_mysql.c
+++ b/ext/mysql/php_mysql.c
@@ -397,7 +397,11 @@ PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("mysql.default_user", NULL, PHP_INI_ALL, OnUpdateString, default_user, zend_mysql_globals, mysql_globals)
STD_PHP_INI_ENTRY("mysql.default_password", NULL, PHP_INI_ALL, OnUpdateString, default_password, zend_mysql_globals, mysql_globals)
PHP_INI_ENTRY("mysql.default_port", NULL, PHP_INI_ALL, OnMySQLPort)
+#ifdef MYSQL_UNIX_ADDR
+ STD_PHP_INI_ENTRY("mysql.default_socket", MYSQL_UNIX_ADDR,PHP_INI_ALL,OnUpdateStringUnempty, default_socket, zend_mysql_globals, mysql_globals)
+#else
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_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)
diff --git a/ext/mysql/php_mysql_structs.h b/ext/mysql/php_mysql_structs.h
index c353e88a25..6220e351d1 100644
--- a/ext/mysql/php_mysql_structs.h
+++ b/ext/mysql/php_mysql_structs.h
@@ -42,6 +42,13 @@
#include <mysql.h>
#endif
+#ifdef PHP_MYSQL_UNIX_SOCK_ADDR
+#ifdef MYSQL_UNIX_ADDR
+#undef MYSQL_UNIX_ADDR
+#endif
+#define MYSQL_UNIX_ADDR PHP_MYSQL_UNIX_SOCK_ADDR
+#endif
+
#if (MYSQL_VERSION_ID >= 40113 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50007 || MYSQL_USE_MYSQLND
#define MYSQL_HAS_SET_CHARSET
#endif