diff --git a/app/.gitkeep b/app/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/src/B8Framework/Database.php b/src/B8Framework/Database.php index 29487b42..7c6903d8 100644 --- a/src/B8Framework/Database.php +++ b/src/B8Framework/Database.php @@ -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; diff --git a/src/PHPCensor/Command/InstallCommand.php b/src/PHPCensor/Command/InstallCommand.php index d4e82fc6..186fe74b 100644 --- a/src/PHPCensor/Command/InstallCommand.php +++ b/src/PHPCensor/Command/InstallCommand.php @@ -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);