protected function isStrictMode($step) { $data = $step->getData(); $connection = new Connection(['driver' => 'pdo_' . $data['db_type'], 'host' => $data['db_host'], 'port' => $data['db_port'], 'database' => $data['db_name'], 'username' => $data['db_user'], 'password' => $data['db_password'], 'charset' => 'utf8']); $connection->connect(); if ($connection->isStrictModeEnabled()) { return true; } return false; }
/** * Construct ZendDb adapter. * @param array $dbConfig * @return \Zend\Db\Adapter */ private static function zenddb() { self::requireConstants(['DIRECTUS_ENV', 'DB_TYPE', 'DB_HOST', 'DB_PORT', 'DB_NAME', 'DB_USER', 'DB_PASSWORD'], __FUNCTION__); $dbConfig = ['driver' => 'Pdo_' . DB_TYPE, 'host' => DB_HOST, 'port' => DB_PORT, 'database' => DB_NAME, 'username' => DB_USER, 'password' => DB_PASSWORD, 'charset' => 'utf8', \PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true, \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8']; try { $db = new Connection($dbConfig); $db->connect(); } catch (\Exception $e) { echo 'Database connection failed.'; exit; } return $db; // $dbConfig = array( // 'driver' => 'Pdo_Mysql', // 'host' => DB_HOST, // 'database' => DB_NAME, // 'username' => DB_USER, // 'password' => DB_PASSWORD, // 'charset' => 'utf8', //// 'options' => array( //// \PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true //// ), //// 'driver_options' => array( //// \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8; SET CHARACTER SET utf8;", ////// \PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true //// ) // ); // $db = new \Zend\Db\Adapter\Adapter($dbConfig); // $connection = $db->getDriver()->getConnection(); // try { $connection->connect(); } // catch(\PDOException $e) { // echo "Database connection failed.<br />"; // self::get('log')->fatal(print_r($e, true)); // if('production' !== DIRECTUS_ENV) { // die(var_dump($e)); // } // die; // } // $dbh = $connection->getResource(); // $dbh->exec("SET CHARACTER SET utf8"); // $dbh->query("SET NAMES utf8"); //// $pdo = $db->getDriver()->getConnection()->getResource(); //// $pdo->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true); // return $db; }