diff options
author | josh4trunks <joshruehlig@gmail.com> | 2014-06-04 22:50:23 -0700 |
---|---|---|
committer | josh4trunks <joshruehlig@gmail.com> | 2014-06-04 22:50:23 -0700 |
commit | e77c9bb97ed56d30c08f7d7ea9c06dd80ac9467b (patch) | |
tree | 5da81f74720f0fc6d675409fb74b0e0496d9ce74 | |
parent | 39eeb7def9cad026698d2b6a97bde8a8e1b34d50 (diff) | |
download | nextcloud-server-e77c9bb97ed56d30c08f7d7ea9c06dd80ac9467b.tar.gz nextcloud-server-e77c9bb97ed56d30c08f7d7ea9c06dd80ac9467b.zip |
Work with MySQL Sockets
This passes anything that is not a valid port (0<int<65535) as a unix socket.
I tested this with unix sockets; this needs to be tested with a non-standard mysql port as well but I don't foresee any issues.
To use a unix socket, even one different than PHP's mysql.default_socket..
* Database Host = localhost:/path/to/socket
-rw-r--r-- | lib/private/db.php | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/private/db.php b/lib/private/db.php index 422f783c745..16030a20f89 100644 --- a/lib/private/db.php +++ b/lib/private/db.php @@ -65,6 +65,9 @@ class OC_DB { $type = OC_Config::getValue( "dbtype", "sqlite" ); if(strpos($host, ':')) { list($host, $port)=explode(':', $host, 2); + if(!is_int($port)||$port<1||$port>65535) { + $socket=true; + } } else { $port=false; } @@ -89,7 +92,11 @@ class OC_DB { 'dbname' => $name, ); if (!empty($port)) { - $connectionParams['port'] = $port; + if ($socket) { + $connectionParams['unix_socket'] = $port; + } else { + $connectionParams['port'] = $port; + } } } |