Сайт Codeigniter, работающий в MAMP, но не LAMP

1

Я использую MAMP для локального размещения моего проекта codeigniter. Каждый из моих контроллеров расширяет MY_Controller. MY_Controller выглядит следующим образом:

class MY_Controller extends CI_Controller {

    public function __construct()
    {
          parent::__construct();

          $this->load->model('user_model');
          $this->user_model->do_something();
    }
}

Используя MAMP, на моем macbook это работает отлично. Однако, когда я загружаю свой сайт на свой Linux-сервер под управлением apache, я получаю следующую ошибку:

Unable to locate the model you have specified: User_model

Зачем?

ОБНОВИТЬ

Я изменил капитализацию таким образом:

$this->load->model('User_model');
$this->User_model->do_something();

и проблема продолжается

  • 0
    Попробуйте изменить имя файла модели, чтобы оно соответствовало заглавной букве в сообщении.
Теги:
codeigniter
mamp
lamp

1 ответ

0

Linux - это чувствительная к регистру операционная система, и поэтому вы должны быть очень осторожны при разработке в Windows и развертывании в Linux.

Ваша проблема проистекает из строки:

$this->user_model->do_something();

Что должно быть:

$this->User_model->do_something();

Поскольку это имя объекта, к которому вы пытаетесь получить доступ.

Строка, которая загружает его, прекрасна, поскольку CodeIgniter не против, какой случай вы используете для загрузки моделей, но PHP будет немного придирчивым к Linux, когда дело доходит до имен вещей.

  • 0
    Я изменил капитализацию и проблема продолжается. Он работает на моем Mac под управлением MAMP, но выдает мне то же сообщение об ошибке в Linux.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню