У меня есть приложение Zend Framework 1.12, которое использует класс адаптера Zend DB для подключения к MySql. Мне нужно развернуть его в ближайшее время и расследовать Google App Engine.
Моя текущая проблема заключается в том, что я не могу подключить приложение к Google Cloud SQL. На этой странице Google https://developers.google.com/appengine/docs/php/cloud-sql/ приведен пример использования PHP и PDO. Он использует DSN в качестве параметра.
Класс адаптера Zend DB не принимает DSN в качестве параметра, а вместо этого создает его из других параметров, которые он получает. Я попытался настроить параметры адаптера Zend DB, чтобы дать правильный 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).