codeigniter2.x升级到3.12问题总结,持续更新......

一、Session设置

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = FCPATH.'application/sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

我用的是万网虚拟主机,需要进入主机设置面板》高级环境设置》php.ini参数设置》PHP函数chmod设置:启用,否则老提示出错。

二、模板中加载模板

2.x中,可以写成

load->view('admin/top')?>

3.x需要写成

load->view('admin/top');?>

三、表单验证规则取消了xss_clean

四、用了百度的UMeditor,网站代码放在了子目录中,上传图片时,路径不对,需要重新设置下umeditor.config.js

//图片上传配置区
,imageUrl:URL+"php/imageUp.php"             //图片上传提交地址
,imagePath:URL+"02/"  //02是我站点所放的文件夹,如:http://www.xxx.com/02/index.php/blog

五、用CI自带上传文件类上传图片时出现500错误,经查权限无错,记得有次调整PHP版本后正常了,但在阿里云宝塔环境中调PHP版本无效,后来去国内官网单独更新上传文件类为最新版后解决。
六、邮件发送类使用情况,翻译的3.0手册太简单,有几个小坑,后经查看评论回复区解决,附正确代码

//发送邮件
    function mailtest($email,$title,$note)
    {
        $this->load->library('email');
        $config['protocol']='smtp';
        $config['smtp_host'] = 'ssl://'.$this->config->item('smtp_host');
        $config['smtp_port'] = $this->config->item('smtp_port');
        $config['smtp_user'] = $this->config->item('smtp_user');
        $config['smtp_pass'] = $this->config->item('smtp_pass');
        $config['validate'] = $this->config->item('validate');
        $this->email->initialize($config);
        $this->email->from($this->config->item('your_email'), $this->config->item('your_name'));
        $this->email->to($email); 
        $this->email->subject($title);
        $this->email->message($note); 
        return $this->email->send();
    }

七、客户一个需要每秒刷新数据库每表值是否更新,访问人数多的话怕造成数据库负担,想采用memcached来解决。服务器通过宝塔面板装memcached很顺利,CI中调用小坑N个,后反复百度后解决。先设置config\memcached.php,set和get如下

//开启数据缓存
$this->load->driver('cache', array('adapter' => 'memcached', 'backup' => 'file', 'key_prefix' => 'my_'));
if ($this->cache->memcached->is_supported())
{
      $this->cache->save('cache_start', 'no', 300);
       //if ($data = $this->cache->memcached->get('my_cache'))
      if ($data = $this->cache->get('my_cache'))
      {
          // do things.
      }
      //对缓存中的值执行原子自增操作。
      //参数 $raw 只有在使用 APC 和 Memcache 缓存时才有用, 它用于 increment() 和 decrement() 方法。
      // 'iterator' has a value of 2
      $this->cache->increment('iterator'); // 'iterator' is now 3
      $this->cache->increment('iterator', 3); // 'iterator' is now 6
      $this->cache->delete('cache_t');
      $this->cache->clean();
      var_dump($this->cache->cache_info());
}

你可能感兴趣的:(codeigniter2.x升级到3.12问题总结,持续更新......)