我有一个使用了Zend DB适配器类与MySQL连接的Zend Framework 1.12申请。 我需要尽快部署并正在调查谷歌应用程序引擎。
我现在的问题是,我无法连接应用程序谷歌的Cloud SQL。 此谷歌网页, https://developers.google.com/appengine/docs/php/cloud-sql/ ,给出了使用PHP和PDO的例子。 它使用一个DSN作为参数。
在Zend DB适配器类不采取DSN作为参数,而是构造它从它接收到的其它参数。 我试图工程师在Zend DB适配器PARAMS给予正确的DSN,但仍然没有运气。 这里是我的尝试:
$config = new Zend_Config(
array(
'database' => array(
'adapter' => 'Pdo_Mysql',
'params' => array(
'host' => 'test-instance',
'dbname' => 'my_db_name',
'username' => 'root',
'password' => 'rootpassword',
'charset' => 'utf8',
'driver_options' => [
'unix_socket' => '/cloudsql/test-project'
]
)
)
)
);
try {
$this->_db = Zend_Db::factory($config->database);
$this->_db->getConnection();
} catch (Exception $e){
Zend_Registry::get('logger')->debug('Cannot create the connection...');
Zend_Registry::get('logger')->debug(print_r($e, true));
}
消息中的例外是
MySQL驱动程序当前未安装
有任何想法吗?
在这个阶段,我只是从GAE SDK想它在我的桌面上。 我还没有上传应用程序到云中。 我怀疑这是问题,但。 (我的工作站IP被授权使用的Cloud SQL实例)。