2018-10-25 10:11:27 3208次浏览 3条回答 0 悬赏 10 金钱

yii2使用mysql长链接报错

PHP Warning 'yii\base\ErrorException' with message 'PDO::__construct(): SQLSTATE[HY000]: General error: PDO::ATTR_STATEMENT_CLASS cannot be used with persistent PDO instances'

配置是这样的

'db' => [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=kj_pay',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    'attributes' => array(PDO::ATTR_PERSISTENT => true)
],
补充于 2018-10-31 14:54

确定了common里面配了PDO::ATTR_PERSISTENT => true,其他目录的 main就不能配了

最佳答案

  • 花椒 发布于 2018-10-25 14:25 举报

    试了下正常没问题~

    5 条回复
    回复于 2018-10-25 14:26 回复

    测试环境是PHP5.6 mysql 5.7

    回复于 2018-10-26 14:03 回复

    我用的是php7.0、mysql5.7是这个原因么

    回复于 2018-10-29 14:05 回复

    能贴一下你的配置吗,php5.6也试也有问题

    回复于 2018-10-29 15:27 回复

    return [

    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=yii2advanced',
    'username' => 'root',
    'password' => '123456',
    'charset' => 'utf8',
    'attributes' => [\yii\db\mssql\PDO::ATTR_PERSISTENT => true]
    ];

    回复于 2018-10-30 09:29 回复

    我发现我只能配到common的main里面,frontend,backend,console里面不能配置这个长链接

  • 回答于 2018-10-29 15:26 举报

    return [

    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=yii2advanced',
    'username' => 'root',
    'password' => '123456',
    'charset' => 'utf8',
    'attributes' => [\yii\db\mssql\PDO::ATTR_PERSISTENT => true]
    

    ];

    1 条回复
    回复于 2018-10-30 09:29 回复

    我发现我只能配到common的main里面,frontend,backend,console里面不能配置这个长链接

  • 回答于 2019-01-21 11:28 举报

    楼主,我配置到哪里都是报这个错误,但是我是在codeception框架下跑才会报这个错

您需要登录后才可以回答。登录 | 立即注册
一粒坏汤屎
试用期

一粒坏汤屎

注册时间:2018-10-24
最后登录:2019-01-25
在线时长:2小时37分
  • 粉丝0
  • 金钱5
  • 威望0
  • 积分25

热门问题