繁体   English   中英

Yii CDbConnection无法打开数据库连接:找不到google cloud sql的驱动程序

[英]Yii CDbConnection failed to open the DB connection: could not find driver with google cloud sql

我遇到了Yii和在Google Cloud sql上运行的mysql数据库的问题。

快速概述:

我们已经从现有的服务器移动了这一点,它完全没有任何问题,现在已经设置了一个带有php的Google Compute Engine服务器,所有的relivant驱动程序mysql_pdo就是其中之一。 我们还有一个Google Cloud SQL数据库,用于存储我们现有的所有数据库信息。

我试过了什么

我编写了一个使用PDO('mysql:<IPADDRESS>;dbname=<MYDBNAME>,'MYUSERNAME','MYPASSWORD');的简单php脚本PDO('mysql:<IPADDRESS>;dbname=<MYDBNAME>,'MYUSERNAME','MYPASSWORD'); 这连接绝对很好,可以读取表和返回数据。

问题

一旦我在config / main.php中执行相同的操作,它似乎无法正常工作并获得错误: CDbConnection无法打开数据库连接:找不到驱动程序

这是yii连接字符串

'db'=>array(
                    'connectionString' =>'mysql:host=my.server.ip.address;dbname=my_db_name',
                    'emulatePrepare' => true,
                    'username' => 'my_username',
                    'password' => 'my_passsword',
                    'charset' => 'utf8',
            ),

我还运行了yii需求脚本,并且它都返回为mysql PDO函数传递的内容。

在此输入图像描述

任何帮助将不胜感激。

谢谢,

啊哈回答我自己的问题:

服务器需要具有sqlite PDO扩展以及MySQL PDO扩展。 现在一切都很完美!

所以值得为此检查你的phpinfo

您可以根据以下答案添加它: https//superuser.com/a/320914

或通过您的php.ini取消注释以下内容:

extension=php_pdo_sqlite.dll

extension=php_sqlite.dll

希望这有助于其他人

不确定这是否相关......我通过CentOS 7 GCE连接到Cloud SQL时出现“权限被拒绝”问题。

发现它与SELinux有关,并找到了以下解决方案: Connect DATABASE错误类型:2002:权限被拒绝

基本上是setsebool -P httpd_can_network_connect_db 1

这解决了我的问题,而没有禁用SELinux。

希望它能帮助那些阅读此内容的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM