| | |
| | | $dsn_string = $this->dsn_string($dsn); |
| | | $dsn_options = $this->dsn_options($dsn); |
| | | |
| | | if ($this->db_pconn) { |
| | | $dsn_options[PDO::ATTR_PERSISTENT] = true; |
| | | } |
| | | |
| | | // Connect |
| | | try { |
| | | // with this check we skip fatal error on PDO object creation |
| | |
| | | } |
| | | |
| | | // process the different protocol options |
| | | $parsed['protocol'] = (!empty($proto)) ? $proto : 'tcp'; |
| | | $parsed['protocol'] = $proto ?: 'tcp'; |
| | | $proto_opts = rawurldecode($proto_opts); |
| | | if (strpos($proto_opts, ':') !== false) { |
| | | list($proto_opts, $parsed['port']) = explode(':', $proto_opts); |
| | |
| | | { |
| | | $result = array(); |
| | | |
| | | if ($this->db_pconn) { |
| | | $result[PDO::ATTR_PERSISTENT] = true; |
| | | } |
| | | |
| | | if (!empty($dsn['prefetch'])) { |
| | | $result[PDO::ATTR_PREFETCH] = (int) $dsn['prefetch']; |
| | | } |
| | | |
| | | if (!empty($dsn['timeout'])) { |
| | | $result[PDO::ATTR_TIMEOUT] = (int) $dsn['timeout']; |
| | | } |
| | | |
| | | return $result; |
| | | } |
| | | |