Ben sunucudan farklı bir zaman dilimi için çalıştırmak zorunda Zend Framework bir uygulama var. Application.ini saat dilimi (bu durumda MySQL) veritabanı sunucusu ayarlamak için bir seçenek var mı?
Benim şu anki seçenekler şunlardır:
resources.db.adapter = "Pdo_Mysql"
resources.db.params.charset = "utf8"
resources.db.params.driver_options.1002 = "SET NAMES utf8"
resources.db.params.host = "localhost"
resources.db.params.username = "usernam"
resources.db.params.password = "password"
resources.db.params.dbname = "databasename"
Ben SET timezone = 'Europe/London'
gibi bir şey biliyorum, ama gerçekten config dosyasında bunu yapmak gerekir.
EDIT
I-resources.db.params.driver_options.1002
PDO::MYSQL_ATTR_INIT_COMMAND
için ayar değeri gerektiği bulunmuştur etrafında Googling.
Bu nedenle resources.db.params.driver_options.1002 = "SET NAMES utf8, time_zone = 'Europe/London'"
should hile yapmak. Ama hayır şans şimdiye kadar.
FINAL EDIT
Found it. After a lot of searching and debugging I found the following code at Zend\Db\Adapter\Pdo\Mysql.php
if (!empty($this->_config['charset'])) {
$initCommand = "SET NAMES '" . $this->_config['charset'] . "'";
$this->_config['driver_options'][1002] = $initCommand; // 1002 = PDO::MYSQL_ATTR_INIT_COMMAND
}
Benim application.ini yılında resources.db.params.charset = "utf8"
var gibi, PDO::MYSQL_ATTR_INIT_COMMAND
üzerine yazılmasını edildi.
O satırı silme çözdük.