Intereting Posts
убивать процессы пользователей в Linux с помощью php Загрузите файл Google Диск с помощью javascript Обновление столбца так, чтобы оно содержало позицию строки PHP – хранить информацию без базы данных NO Как обновить базу данных (d2) на основе информации другой базы данных (d1) Статистика обнаружения JavaScript / браузера Как установить файлы cookie в течение 20 минут и проверить, истек ли срок их действия Получение запроса на перекрестный запрос исходного кода при использовании .getJSON для получения сведений о приложении Play Store php datetime createformat parse Следует ли переименовать загруженные файлы? Как отправить и подтвердить форму через ajax Создание веб-интерфейса для Android-приложения с использованием API-интерфейсов Android. Отображение новостей / хронологий на Facebook на веб-сайте Почему «PHP не удается сломать / продолжить 1 уровень»? PHP SimpleXML новая строка

Не удалось найти указанный класс: Session.php в Codeigniter

Браузер:

Не удалось найти указанный класс: Session.php

Это мой контроллер:

<?php class Chat extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('Chat_model'); } public function index() { $this->view_data['chat_id'] = 1; $this->view_data['student_id'] = $this->session->userdata('student_id'); $this->view_data['page_content'] = 'chat'; $this->load->view('chat'); } public function ajax_addChatMessage() { $chat_id = $this->input->post('chat_id'); $student_id = $this->input->post('student_id'); $bericht = $this->input->post('chat_id', TRUE); $this->Chat_model->addChatMessage($chat_id, $student_id, $bericht); } } 

Когда я помещаю свою модель в комментарий в parent::__construct(); // $this->load->model('Chat_model'); parent::__construct(); // $this->load->model('Chat_model'); ошибка исчезла.

Это мой Chat_model:

 <?php class Chat_model extends CI_Controller { public function Chat_model() { parent::__construct(); } public function addChatMessage($chat_id, $student_id, $bericht) { $query = "INSERT INTO tbl_chatberichten (chat_id, student_id, bericht) VALUES (?,?,?)"; $this->db->query($query, array($chat_id, $student_id, $bericht)); } } 

 class Chat_model extends CI_Controller 

должно быть

 class Chat_model extends CI_Model 

Если вы используете модульные расширения Codeigniter HMVC, эта ошибка может возникнуть, если вы забудете изменить свой класс, чтобы расширить MX_Controller вместо CI_Controller

Поэтому в вашем случае вы начнете свой класс с:

 class Chat extends MX_Controller {} 

Вместо:

 class Chat extends CI_Controller {} 

Надеюсь, это поможет кому-то, кто сталкивается с тем же вопросом

Добавить изменения в конфигурации вашей библиотеки в файле application / config / autoload.php

 $autoload['libraries'] = array('database', 'session'); 

и в приложении / config / config.php задайте ключ шифрования (любой ключ u нравится)

 $config['encryption_key'] = 'thu23456789#[n,'; 

Если вы все равно получите ту же ошибку, то скопируйте System / library / Session / Session.php в System / library / folder, тогда она должна работать

Мое решение: Предисловие: если вы не используете крючки, это не будет решением для вас.

У меня была эта же проблема после обновления до версии 3.0.6, и я определенно правильно настроил все, так как это уже существующий сайт, обновляемый до версии v3 +. Моя проблема сводилась к крючкам, которые я загрузил «предварительный контроллер». Мои крючки работали с v 2.0.X CodeIgniter, но не с v3 +.

Если вы загружаете крючки перед загрузкой класса сеанса, и ваш крючок имеет зависимость от класса сеанса, это может быть вашим преступником. Попытайтесь изменить любые крючки перед контроллером на пост-контроллер или полностью закомментируйте их, чтобы узнать, устраняет ли это проблему. Все это находится в приложении / config / hooks.php.

Измените конфигурацию библиотеки загрузки в файле application/config/autoload.php

  $autoload['libraries'] = array('database', 'session'); 

В application/config/config.php задайте ключ шифрования (любой ключ u, как)

  $config['encryption_key'] = 'thu23456789#[n,'; 

Добавьте это вместо своего конструктора контроллера чата

  public function __construct() { parent::__construct(); $this->load->library('session'); $this->load->model('Chat_model'); } 

Это загружает библиотеку сеансов на ваш контроллер, чтобы вы могли использовать эти методы.

Модель расширяет CI_Model Не класс CI_Controller Chat_model расширяет CI_Model {………….}

Измените конфигурацию вашей библиотеки в файле application / config / autoload.php

 $autoload['libraries'] = array('database','ci_session'); 

Установите ключ шифрования для вашего приложения в application / config / config.php

 $config['encryption_key'] = 'sdjfkdjkfj'; 

Копировать систему / libararies / Session / Session.php в приложение / библиотеки / Переименовать приложение / библиотеки / Session.php на CI_Session.php

Теперь объект CI_Session будет доступен через нижнюю строку

 $this->ci_session