【问题标题】:Message: Configured database connection is persistent. Aborting消息:配置的数据库连接是持久的。中止
【发布时间】:2015-04-04 13:17:51
【问题描述】:

Codeigniter 2 到 3 版本升级后,我得到这个错误.. 为什么会这样?

遇到未捕获的异常

类型:异常

消息:配置的数据库连接是持久的。中止。

文件名:/var/www/vhosts/xxx.com/app/system/libraries/Session/drivers/Session_database_driver.php

行号:94

回溯:

文件:/var/www/vhosts/xxx.com/app/application/core/MY_Controller.php 线路:11 函数:__构造

文件:/var/www/vhosts/xxx.com/app/application/core/MY_Controller.php 线路:52 函数:__构造

文件:/var/www/vhosts/xxx.com/app/application/controllers/Dashboard.php 线路:7 函数:__构造

文件:/var/www/vhosts/xxx.com/application/index.php 线路:293 函数:require_once

【问题讨论】:

    标签: php codeigniter database-connection codeigniter-3


    【解决方案1】:

    我遇到了同样的问题,发现只是更改设置的问题:

    修改您的 database.php 配置文件并将“pconnect”设置为 false。作为 CI 3 框架的一部分,它将成为该数组的一部分:

    $db['default'] = array(
        'pconnect' => FALSE // This value
    );
    

    或者,如果您的配置文件看起来更像 CI 2 版本:

    $db['default']['pconnect'] = FALSE;
    

    搜索了一下似乎表明数据库不喜欢持久连接,这可能是出于安全原因。

    【讨论】:

      【解决方案2】:

      在database.php文件中禁用缓存,在database.php中定义缓存文件夹

      'cachedir' => APPPATH.'cache/db/',
      

      设置且只使用

      $this->db->cache_on(); 
      

      您希望缓存数据库查询的命令。

      别忘了使用

      $this->db->cache_off();
      

      在选择查询不需要的缓存结果之后。

      【讨论】:

        【解决方案3】:

        当启用持久化时,似乎 codeigniter 3.0 不支持使用数据库的会话。 表格:http://www.codeigniter.com/user_guide/libraries/sessions.html?highlight=session#session-preferences

        但是,有一些条件必须满足:

        只有您的默认数据库连接(或您以 $this->db 来自您的控制器)可以使用。你必须有查询 生成器已启用。您不能使用持久连接。你不能 使用启用了 cache_on 设置的连接。

        【讨论】:

          【解决方案4】:

          您需要确保 FALSE 不带引号。如果您使用“FALSE”,数据库驱动程序会将其视为真正的布尔值。系统希望您直接使用 FALSE,不带引号。因此,取消设置 pconnect 而不是使用 'FALSE' 以默认为 FALSE,或者如果您想保持有序,请使用 FALSE 作为值 :)

           * Persistent connection flag
           *
           * @var bool
           */
          public $pconnect        = FALSE;
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2020-08-16
            • 1970-01-01
            • 2010-09-08
            • 2010-09-21
            • 1970-01-01
            • 2010-11-10
            • 2015-06-09
            • 2011-10-12
            相关资源
            最近更新 更多