我刚在serverpilot.io上设置了Yii Framework Web应用程序,但无法连接到数据库。如果我尝试使用mysql_connect或PDO直接连接,则不会出错。
$mysqlConnection = new PDO("mysql:host=localhost;dbname=xxx", "yyy", "zzz");
这些是我的PDO驱动程序:dblib,mysql,odbc,pgsql,sqlite。这是我的pdo_mysql版本:mysqlnd 5.0.12-dev - 20150407 - $ Id:f59eb767fe17a6679589b5c076d9fa88d3d4eac0 $
从我在phpinfo中看到的,已经安装了pdo_mysql,有什么我想念的吗?谢谢。
[EDITED]
这是我的配置:
array(
'connectionString' => 'mysql:host=localhost;dbname=xxx',
'emulatePrepare' => false,
'username' => 'yyy',
'password' => 'zzz',
'charset' => 'utf8',
'class'=>'application.extensions.PHPPDO.CPdoDbConnection',
'pdoClass' => 'PHPPDO',
'enableProfiling' => true,
'enableParamLogging' => true
)
答案 0 :(得分:1)
找到原因。我只知道在PHP 7中不推荐使用mysql_connect。默认情况下,serverpilot中的PHP版本是PHP 7,我使用的是使用mysql扩展而不是mysqli的PHPPDO扩展。这就是为什么如果我尝试手动连接它不会抛出错误但每次我尝试使用Yii连接时都会抛出错误。希望这有助于可能面临同样问题的人。