2016-02-06 4 views
2

Я разработал проект с CodeIgniter на окнах XAMPP, который работает. Но не работает на удаленном сервере на базе Linux.Проект CodeIgniter не работает на удаленном сервере на базе Linux

Я получаю ошибку:

Unable to load the requested file: home.php

Контроллер: home.php:

public function index(){ 
    $this->load->view('home'); 
} 

.htaccess:

RewriteEngine on 
RewriteCond $1 !^(index\\.php|resources|robots\\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
+1

Вы называете файл home.php непосредственно или в том числе и на другой файл PHP? Включите журналы на вашем сервере php и http и проверьте. Похоже, ваш скрипт не находит файл по указанному вами пути. Попробуйте использовать полный путь для файла. – peixotorms

ответ

1

На CodeIgniter 3 + версии несколько проверок, которые необходимо выполнить, если возникают ошибки ниже.


  • ошибка 404 страница не найдена
  • Не удалось загрузить требуемый файл

Check first.

  • Убедитесь, что ваше имя файла имеет первую букву в верхнем регистре только
  • Удостоверьтесь ваше имя класса имеет только первый верхний регистр буквы
  • Это относится и к моделям.

Предупреждение: Несколько раз, даже если нижний регистр может работать на некоторых локальный некоторые другие операционные системы, это может привести к ошибке, когда файл или класс в нижнем регистре, он не может быть одинаковым для всех.

Controller

Имя файла: home.php Структура

<?php 

class Home extends CI_Controller { 

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

    public function index(){ 
     // $data['results'] = $this->model_example->get_results(); 
     $this->load->view('home'); 
    } 
} 

Папка для View

application 

application > views > home.php 

Models

Имя файла: Model_example.PHP

<?php 

class Model_example extends CI_Model { 

    public function get_results() { 
     // Some Code Here. 
    } 
} 

На вашем config.php

$config['base_url'] = 'http://localhost/your_project_name/'; 
+0

Спасибо! Это сработало. :) –

0

Rathe r, чем загружать сайт codeigniter напрямую, вы должны использовать что-то вроде Putty (http://www.putty.org/), чтобы установить новую версию Codeigniter через скрипт, а затем добавить файлы для своего сайта в установку.

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

Сценарий используется для установки новой версии CI будет отличаться в зависимости от того, какую платформу Linux вы используете. wget используется для ubuntu.

Смежные вопросы