Zend Frameworkには、サーバーとは異なるタイムゾーンで実行する必要のあるアプリケーションがあります。 application.iniのデータベースサーバー(この場合はMySQL)のタイムゾーンを設定するオプションはありますか?application.iniでデータベースのタイムゾーンを設定する方法
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"
私はSET timezone = 'Europe/London'
ような何かを行うことができます知っているが、私は本当に、configファイルでそれを実行する必要があります。
私の現在のオプションがあります。周りグーグル
EDIT
私はresources.db.params.driver_options.1002
がPDO::MYSQL_ATTR_INIT_COMMAND
の値を設定する必要があることを見出しました。
したがってresources.db.params.driver_options.1002 = "SET NAMES utf8, time_zone = 'Europe/London'"
はです。しかし、これまで運がなかった。
FINAL EDIT
はそれを発見しました。私は私のapplication.iniでresources.db.params.charset = "utf8"
を持っていたよう は、検索とデバッグに多くの後、私はそれがPDO::MYSQL_ATTR_INIT_COMMAND
を上書きして、Zendの\ Dbの\アダプタ\ 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
}
に次のコードを見つけました。
その行を削除すると解決しました。
ウェブサーバーとは異なりますか、またはMySQLサーバーとは異なりますか? –
両方のサーバーと異なります。 – Esteban