Impossible de localiser la classe spécifiée: Session.php dans Codeigniter
Le navigateur:
Impossible de localiser la classe spécifiée: Session.php
C'est mon Contrôleur:
<?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);
}
}
Quand j'ai mis mon modèle en commentaire dans le parent::__construct(); //$this->load->model('Chat_model');
l'erreur a disparu.
C'est mon 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));
}
}
- Alors votre problème est dans le modèle de droite? Pourrais-tu nous montrer le code que vous avez obtenu dans là? Avez-vous construire le modèle parent de la classe?
- Je l'ai ajouté dans ma question
- Pourriez vous s'il vous plaît utiliser
__construct()
au lieu deChat_model()
? Il est recommandé par Codeigniter et c'est peut-être de donner le numéro. - $this->load->bibliothèque('session'); écrire ce code dans vous de contrôleur constructeur parent et d'essayer
- A fait toutes les choses que vous les gars a dit, ayant toujours le même message d'erreur
- Vous êtes à la convocation de la séance de helper sans chargement de l'aide. Charge de l'aide avant la convocation de la séance
Vous devez vous connecter pour publier un commentaire.
devrait être
Si vous utilisez Codeigniter Des Extensions modulaires HMVC cette erreur peut se produire si vous oubliez de changer votre classe pour étendre MX_Controller au lieu de CI_Controller
Donc dans votre cas, vous commencerez à votre classe:
Au lieu de:
Espère que cela aide quelqu'un qui s'exécute dans le même problème
Ajouter des changements dans votre bibliothèque de configurations application/config/autoload.php fichier
et dans application/config/config.php définissez la clé de chiffrement(n'importe quelle touche u comme)
Ma solution:
Préface: Si vous n'utilisez pas les crochets, ce ne sera pas la solution pour vous.
J'ai eu le même problème après la mise à jour de la v3.0.6, et j'ai vraiment eu tout configuré correctement, comme c'est un site existant juste d'être mis à niveau vers v3+. Mon problème se résumait à des crochets que j'ai eu le chargement de "pré-contrôleur". Mes crochets travaillé avec v 2.0.X de CodeIgniter, mais pas avec la v3+.
Si vous chargez des crochets avant la session de classe est chargé, et votre crochet a une dépendance sur la session de classe, qui peut être votre coupable. Essayez de changer de pré-contrôleur de crochets de post-contrôleur, ou de faire des commentaires complètement pour voir si cela résout votre problème. C'est tous situés dans application/config/hooks.php.
Changer votre charge de configuration de la bibliothèque dans
application/config/autoload.php
fichierDans
application/config/config.php
définir la clé de chiffrement(n'importe quelle touche u comme)Ajouter ceci à la place de votre Chat contrôleur constructeur
Cette charge la session de la bibliothèque de votre contrôleur de sorte que vous pouvez utiliser les méthodes.
Modèle S'Étend CI_Model Pas CI_Controller
classe Chat_model s'étend CI_Model {
.............
}
Dans mon cas, le nom de la bibliothèque et le nom de la classe contrôleur était le même que je.e mon nom de la classe contrôleur était
Ajaxer
et aussi ma bibliothèque nom de la classe étaitAjaxer
. J'ai changé ma bibliothèque nom de la classe àAjaxer_lib
et sa a résolu le problème.Dans votre Chat_model, essayez de changer de
class Chat_model extends CI_Controller
àclass Chat_model extends CI_Model
.Si aucune des solutions ci-dessus sont travaillé, ma solution est:
Dans mon autoload de config, j'avais une bibliothèque appelée 'auth'.
cependant, dans mon contrôleur personnalisé, en quelque sorte, c'était foiré parce que 'auth' n'était pas chargé automatiquement(j'ai tout vérifié). Depuis je ne fais que l'utiliser lors de la connexion, je l'ai enlevé de mon autoload config et de le charger dans ma personnalisé contrôleur.
Je n'ai jamais eu ce problème avant, mais soudain, un jour où c'est arrivé.
À l'aide de [CodeIgniter v3]
Modifier vos configurations de la bibliothèque dans application/config/autoload.php fichier
Définir la clé de cryptage de votre applicatiion dans application/config/config.php
Copie system/libararies/Session/Session.php application/bibliothèques/
Renommer application/libraries/Session.php pour CI_Session.php
Maintenant, CI_Session objet sera disponible jusqu'au-dessous de la ligne