【发布时间】:2017-11-17 09:57:05
【问题描述】:
我正在使用 CodeIgniter 钩子,我试图在要执行的控制器(pre_controller)之前触发一个动作,并在要执行的控制器之后触发另一个动作。但是我面临一个奇怪的情况,当我在$config['enable_hooks'] = TRUE; 中启用挂钩时,它会触发自动注销,我的意思是它会终止用户会话。有人可以帮助我吗?可能是我为钩子做了错误的配置。
这里是钩子配置: hooks.php
$hook['pre_controller'] = array(
'class' => 'Hookcall',
'function' => 'get_post_params',
'filename' => 'hookcall.php',
'filepath' => 'hooks'
);
/*
hook for saving fraude logs
*/
$hook['post_controller'] = array(
'class' => 'Hookcall',
'function' => 'save_logs',
'filename' => 'hookcall.php',
'filepath' => 'hooks'
);
【问题讨论】:
-
钩子配置本身不能破坏任何东西。问题必须在你的钩子实际执行的代码中。
-
确保
hookcall.php文件内没有session_destroy。 -
@mega6382 没有
session_destroy,正如您在下面的代码中看到的那样,我在hookcall.php中保留了空方法。但问题仍然存在<?php defined('BASEPATH') or exit('No direct script access allowed'); class Hookcall extends MY_Controller { public function save_logs() { } public function get_post_params() { } private function get_files_superior_5_percent($params) { } }
标签: php codeigniter session