Почему My_controller не работает на хостинге Linux?

Получил пустую страницу при создании MY_controller и Frontend_controller для моего сайта.

Вот контроллер

class welcome extends Frontend_controller{
    public function index(){
        $this->load->view('welcome_message');
    }
}

И я также создаю Frontend_controller в библиотеках с именем:Frontend_controller.php

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
 Class Frontend_controller extends MY_controller{ 
     public function __construct(){
         parent::__construct();
          echo'<script>alert()</script>'; 
     }
 }
?>

и я также создаю MY_controller.php в папке Core

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
Class MY_controller extends CI_controller{
    public $data = array(); 
    public function __construct() { 
        parent::__construct();  
    }
}

?>

для вызова всего имени класса я также копирую эту функцию из некоторого учебника и сохраняю в config.php

function __autoload($classname) {
    if (strpos($classname, 'CI_') !== 0) {
        $file = APPPATH . 'libraries/' . $classname . '.php';
        if (file_exists($file)) {
            @include_once($file);
        }
    }
}

Наконец я создаю.Htaccess

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /
RewriteCond %{ENV:REDIRECT_APP_PATH} !^$
RewriteRule ^(.*)$ - [E=APP_PATH:%{ENV:REDIRECT_APP_PATH}]

RewriteCond %{ENV:APP_PATH} ^$
RewriteRule ^(.*)$ - [E=APP_PATH:/$1]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
</IfModule>

Я изменил и протестировал эту опцию для URI и $config['base_url'] = ''; тоже

| 'AUTO'            Default - auto detects
| 'PATH_INFO'       Uses the PATH_INFO
| 'QUERY_STRING'    Uses the QUERY_STRING
| 'REQUEST_URI'     Uses the REQUEST_URI
| 'ORIG_PATH_INFO'  Uses the ORIG_PATH_INFO
|
*/
$config['uri_protocol'] = 'QUERY_STRING';

Вот View welcome_message.php В представлении сложить

HTML-упаковка

Но он работает на моем локальном хосте, почему он не работает на Linux хостинге ** ** Должен ли я сменить хостинг?

В результате я получаю пустые страницы, когда набираю welcome или захожу на мой сайт

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

И спасибо за помощь

1 ответ

Linux чувствительна к регистру ОС, а Windows - нет. Вы должны изменить

MY_controller to MY_Controller
CI_controller to CI_Controller

также.Htaccess должен быть переименован в.htaccess. Пустые страницы php, также известные как "белая страница смерти", обычно означают, что вы столкнулись с фатальной ошибкой php. Вы должны проверять свои журналы всякий раз, когда это происходит, для получения подробного отчета об ошибке (или включить показывать ошибку, если вы НЕ находитесь на рабочем сервере).

Другие вопросы по тегам