/** * Construct ZendDb adapter. * @param array $dbConfig * @return \Zend\Db\Adapter */ private static function zenddb() { self::requireConstants(array('DIRECTUS_ENV', 'DB_HOST', 'DB_NAME', 'DB_USER', 'DB_PASSWORD'), __FUNCTION__); $dbConfig = array('driver' => 'Pdo_Mysql', 'host' => DB_HOST, '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 \Zend\Db\Adapter\Adapter($dbConfig); $db->getDriver()->getConnection()->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; }
<?php require_once './autoloader.php'; $adapter = new Zend\Db\Adapter\Adapter(array('driver' => 'pdo', 'dsn' => 'mysql:dbname=db;hostname=localhost', 'username' => 'root', 'password' => 'password', 'driver_options' => array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''))); $adapter->getDriver()->getConnection()->beginTransaction();
} $db->config = $config; require __DIR__ . '/../lib/crm/Autoload.php'; crm\Autoload::getInstance(); $template = new Template(__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR, $config->template); $template->setBlock('head', 'general/head.phtml'); $template->setBlock('header', 'general/header.phtml'); $template->setBlock('breadcrumbs', 'general/breadcrumbs.phtml'); $template->setBlock('navigation', 'general/navigation.phtml'); $template->setBlock('footer', 'general/footer.phtml'); $control = $template->createControl(); $control->setBaseDir(__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'control'); $connected = true; set_error_handler(create_function('', '')); try { $db->getDriver()->getConnection()->connect(); } catch (\Exception $e) { $connected = false; } restore_error_handler(); if (!$connected) { switch (php_sapi_name()) { case 'cli': throw new Exception('Db connection error', 2404150924); break; default: header('HTTP/1.1 503 Service Temporarily Unavailable'); header('Status: 503 Service Temporarily Unavailable'); header('Retry-After: 300'); $GLOBALS['user'] = null; $control->addValidationMessage('error', 'errore nelle nostre macchine');