Fixed PDO creation for PostgreSQL without pdo_mysql extension. Issue #73.
This commit is contained in:
parent
dd8c85a449
commit
fd356a4dda
|
@ -75,18 +75,22 @@ class Database extends \PDO
|
|||
}
|
||||
$dns .= ';dbname=' . self::$details['db'];
|
||||
|
||||
$pdoOptions = [
|
||||
\PDO::ATTR_PERSISTENT => false,
|
||||
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
|
||||
\PDO::ATTR_TIMEOUT => 2,
|
||||
];
|
||||
if ('mysql' === self::$details['type']) {
|
||||
$pdoOptions[\PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES 'UTF8'";
|
||||
}
|
||||
|
||||
// Try to connect:
|
||||
try {
|
||||
$connection = new self(
|
||||
$dns,
|
||||
self::$details['user'],
|
||||
self::$details['pass'],
|
||||
[
|
||||
\PDO::ATTR_PERSISTENT => false,
|
||||
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
|
||||
\PDO::ATTR_TIMEOUT => 2,
|
||||
\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'',
|
||||
]
|
||||
$pdoOptions
|
||||
);
|
||||
} catch (\PDOException $ex) {
|
||||
$connection = false;
|
||||
|
|
|
@ -411,23 +411,27 @@ class InstallCommand extends Command
|
|||
*/
|
||||
protected function verifyDatabaseDetails(array $db, OutputInterface $output)
|
||||
{
|
||||
try {
|
||||
$dns = $db['type'] . ':host=' . $db['servers']['write'][0]['host'];
|
||||
if (isset($db['servers']['write'][0]['port'])) {
|
||||
$dns .= ';port=' . (integer)$db['servers']['write'][0]['port'];
|
||||
}
|
||||
$dns .= ';dbname=' . $db['name'];
|
||||
$dns = $db['type'] . ':host=' . $db['servers']['write'][0]['host'];
|
||||
if (isset($db['servers']['write'][0]['port'])) {
|
||||
$dns .= ';port=' . (integer)$db['servers']['write'][0]['port'];
|
||||
}
|
||||
$dns .= ';dbname=' . $db['name'];
|
||||
|
||||
$pdoOptions = [
|
||||
\PDO::ATTR_PERSISTENT => false,
|
||||
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
|
||||
\PDO::ATTR_TIMEOUT => 2,
|
||||
];
|
||||
if ('mysql' === $db['type']) {
|
||||
$pdoOptions[\PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES 'UTF8'";
|
||||
}
|
||||
|
||||
try {
|
||||
$pdo = new PDO(
|
||||
$dns,
|
||||
$db['username'],
|
||||
$db['password'],
|
||||
[
|
||||
\PDO::ATTR_PERSISTENT => false,
|
||||
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
|
||||
\PDO::ATTR_TIMEOUT => 2,
|
||||
\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'',
|
||||
]
|
||||
$pdoOptions
|
||||
);
|
||||
|
||||
unset($pdo);
|
||||
|
|
Loading…
Reference in a new issue