Почему не удается найти указанную модель news.php на хостинге?

0

У меня VPS под управлением Ubuntu 20.04, я поставил туда Apache2, MySql, PHP и все настроил, поставил туда сайт Киномонстр, для того, что бы выполнить последнее задание "Залить на хостинг". Захожу на сайт, а там

Вот такая херь:

An uncaught Exception was encountered
Type: RuntimeException

Message: Unable to locate the model you have specified: News_model

Filename: /var/www/wizard-hacker.ru/system/core/Loader.php

Line Number: 348

Backtrace:

File: /var/www/wizard-hacker.ru/application/core/MY_Controller.php
Line: 6
Function: __construct

File: /var/www/wizard-hacker.ru/application/controllers/Main.php
Line: 7
Function: __construct

File: /var/www/wizard-hacker.ru/index.php
Line: 315
Function: require_once

Не может найти указанную модель. Но:

1) Название файла с заглавной буквы News_model.php в папке model

2) Название класса в модели тоже с заглавной:

class News_model extends CI_Model {
    public function __construct(){
        $this->load->database();
    }
.....
}

В контроллере подгружается вот так:

class News extends MY_Controller {
    public function __construct(){
        parent::__construct();
        $this->load->model('news_model');
    }

И все работает только на localhost!!! А на реальном хостинге пишет ошибку!

Все функции сайта я допилил и сделал, осталось только проверить отправку из формы контактов себе на почту. Но когда я заливаю сайт на хостинг - у меня при переходе на сайт пишет ошибку, что не может найти модель News_model!

Я искал решения в интернете и не нашел. Даже в автозагрузку записал эту модель, все равно не котируется! (autoload.php в папке config ) для автоматической подгрузки.

$autoload['model'] = array('news_model');

На домашке мне приходилось ставить XAMPP версии ниже на каком то уроке, что бы что-то работало. Исключительно из-за Apache. Но тут не смотря на все это дело - ошибка отображается, значит сайт работает, просто ошибка в коде. НО ГДЕ? 

Код в MY_Controller:

class MY_Controller extends CI_Controller {

    public function __construct()    {
        parent::__construct();
        $this->data['title'] = "КиноМонтср - сайт о кино";
        $this->load->model('news_model');
        $this->data['news'] = $this->news_model->getNews();
        
        $this->load->model('posts_model');
        $this->data['posts'] = $this->posts_model->getPosts();
        
        $this->load->model('films_model');
        $this->data['films'] = $this->films_model->getFilmsByRating(10);
    }

}
codeignitor

5 ответов

0

Только news model не может найти?

0
Название файла с заглавной буквы News_model.php в папке model
$this->load->model('news_model');

Не уверен, но может дело в регистре? Локальный сайт на Windows развернут? Может переименовать название файла News_model.php, на news_model.php (само название класса не переименовывать). 

0

Ну пока только эта ошибка, если ее исправить - возможно будет и другая. Но пока только News model

0

Я пробовал менять регистр и в названии файла и в названии класса разом и раздельно - не помогает! Развернут локально был на Windows, сейчас на Ubuntu 20.04 VPS развернул.

0

Я нашел ошибку, ужас какой-то. Дело было в названии файла. Я не заметил, что News_model.php имеет название не просто с заглавной буквы, а вот такое:

News_Model.php - то есть второе слово Model было тоже с заглавной! Черт подери почти целый день на поиск проблемы ушел!  Я уже на тостере начал писать эту проблему со всеми скриншотами и заметил на скриншоте эту опечатку! Фуууух. 

Sign up or Log in to write an answer