Php 钩子在codeigniter中的服务器上不工作
我已经为查询日志创建了一个钩子。 步骤1:Php 钩子在codeigniter中的服务器上不工作,php,codeigniter,Php,Codeigniter,我已经为查询日志创建了一个钩子。 步骤1:$config['enable_hooks']=TRUE 步骤2: $hook['post_controller'] = array( 'class' => 'Db_log', 'function' => 'logQueries', 'filename' => 'db_log.php', 'filepath' => 'hooks' ); // hooks.php 步骤3:Hooks文件夹创
$config['enable_hooks']=TRUE 步骤2:
步骤3:Hooks文件夹创建名为Db_log.php的文件 第4步:在//Code>$hook['post\u controller]$hook['post_controller'] = array( 'class' => 'Db_log', 'function' => 'logQueries', 'filename' => 'db_log.php', 'filepath' => 'hooks' ); // hooks.php
我的问题是,当调用任何一个控制器时,钩子是否在本地正确运行class Db_log { function __construct() { // Anything except exit() } // Name of function same as mentioned in Hooks Config function logQueries() { $CI = &get_instance(); $filepath = APPPATH . 'logs/Query-log-' . date('Y-m-d') . '.php'; $handle = fopen($filepath, "a+"); $times = $CI->db->query_times; foreach ($CI->db->queries as $key => $query) { date_default_timezone_set("Asia/Bangkok"); $sql = $query . " \n Execution Time:" . $times[$key]; fwrite($handle, $sql . "\n\n"); } $line .= "-----------------------------------------------\n"; fwrite($handle, $line . "\n"); fclose($handle); // Close the file } }
在服务器钩子不工作时,设置权限755777644,但仍不工作。请更改hooks.php中的数组,如下所示$hook['post_controller'] = array( 'class' => 'Db_log', 'function' => 'logQueries', 'filename' => 'Db_log.php', 'filepath' => 'hooks' );
您写入了错误的文件名您使用的是哪个CI版本?