Php unserialize():672字节的偏移量10处出错
我正在用sql server构建codeigniter应用程序 我用MySQL启动了这个应用程序,它运行得很好,但当我将我的表合并到sql server时,出现了以下错误: 消息:unserialize():672字节的偏移量10处出错 文件名:core/MY_Controller.phpPhp unserialize():672字节的偏移量10处出错,php,sql-server,codeigniter,Php,Sql Server,Codeigniter,我正在用sql server构建codeigniter应用程序 我用MySQL启动了这个应用程序,它运行得很好,但当我将我的表合并到sql server时,出现了以下错误: 消息:unserialize():672字节的偏移量10处出错 文件名:core/MY_Controller.php public function __construct() { parent::__construct(); $group_data = array(); if(empty($t
public function __construct()
{
parent::__construct();
$group_data = array();
if(empty($this->session->userdata('logged_in'))) {
$session_data = array('logged_in' => FALSE);
$this->session->set_userdata($session_data);
}
else {
$user_id = $this->session->userdata('id');
$this->load->model('model_groups');
$group_data = $this->model_groups->getUserGroupByUserId($user_id);
$this->data['user_permission'] = unserialize($group_data['permission']);
$this->permission = unserialize($group_data['permission']);
}
}
行号:3
这是我的controller.php
public function __construct()
{
parent::__construct();
$group_data = array();
if(empty($this->session->userdata('logged_in'))) {
$session_data = array('logged_in' => FALSE);
$this->session->set_userdata($session_data);
}
else {
$user_id = $this->session->userdata('id');
$this->load->model('model_groups');
$group_data = $this->model_groups->getUserGroupByUserId($user_id);
$this->data['user_permission'] = unserialize($group_data['permission']);
$this->permission = unserialize($group_data['permission']);
}
}
我刚刚使用了preg_replace_回调函数,对我来说效果很好:
$group_data['permission']=preg_replace_callback('!s:(\d+):"(.*?)";!',
function($match) {
return ($match[1] == strlen($match[2])) ? $match[0] : 's:' . strlen($match[2]) . ':"' . $match[2] . '";';},
$error_serialized_data);
我刚刚使用了preg_replace_回调函数,对我来说效果很好:
$group_data['permission']=preg_replace_callback('!s:(\d+):"(.*?)";!',
function($match) {
return ($match[1] == strlen($match[2])) ? $match[0] : 's:' . strlen($match[2]) . ':"' . $match[2] . '";';},
$error_serialized_data);
您的错误表示控制器中的方法需要1个参数,您将其称为
Request$Request
,请将其删除。这就是您问题的解决方案。您的错误是控制器中的方法需要1个参数,您将其称为Request$Request
,请将其删除。这就是你问题的答案。