我一直在寻找并尝试了几种不同的方法来解决这个问题......但到目前为止还没有任何工作。我刚刚将一个网站上传到我的服务器,经过所有必要的更改后,它返回了以下错误 - 我以前从未见过。
This is the screen shot when I first uploaded the files online...
嗯,经过一些测试和研究,我已经改变了我的控制器的名称大写 - 和模型 - 以及" php"页面的一部分停止显示。
这是我的设置:
FOLDER :网站位于文件夹/ site /
中application/
favicon/
system/
index.php
.htaccess
robots.txt
CONTROLLER:我已经测试过更改为CI_Controller - 即使我正在使用CI 1.7.2 - 并且__construct()...没有工作< / p>
class Home extends Controller
{
// SET LAYOUT DEFAULT
public $layout = 'default';
// SET TITLE DEFAULT
public $title = '';
// SET CSS DEFAULT
public $css = array('scripts/fancybox/jquery.fancybox');
// SET JAVASCRIPT DEFAULT
public $js = array('scripts/fancybox/jquery.fancybox.pack');
function Home () {
parent :: Controller();
// LOAD Libraries
$this->load->library(array('createdate','minitextile','showimages'));
// LOAD Models
$this->load->model('site_model');
}
function index () {
$data['website_info'] = $this->config->item('w_infos');
// LOAD VIEWS
$this->load->view ('include/home_view', $data);
}
}
CONFIG - 我只在这里放了一个基本的...
$config['base_url'] = "http://domain.com/site/";
$config['index_page'] = "";
$config['uri_protocol'] = "REQUEST_URI"; // Tested with AUTO, didn't work
$config['enable_hooks'] = TRUE;
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
$config['directory_trigger'] = 'd';
HTACCESS - 文件位于文件夹/ site /
内<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /site/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
# Without mod_rewrite, route 404's to the front controller
ErrorDocument 404 /index.php
</IfModule>
途径:
$route['default_controller'] = "home";
我的日志: 控制器名称更改后
DEBUG - 2016-11-21 15:54:22 --> Config Class Initialized
DEBUG - 2016-11-21 15:54:22 --> Hooks Class Initialized
DEBUG - 2016-11-21 15:54:22 --> URI Class Initialized
ERROR - 2016-11-21 15:54:22 --> 404 Page Not Found --> home
在更改名称之前(对于上限),它是这样的:
DEBUG - 2016-11-21 14:08:28 --> Config Class Initialized
DEBUG - 2016-11-21 14:08:28 --> Hooks Class Initialized
DEBUG - 2016-11-21 14:08:28 --> URI Class Initialized
DEBUG - 2016-11-21 14:08:28 --> No URI present. Default controller set.
DEBUG - 2016-11-21 14:08:28 --> Router Class Initialized
DEBUG - 2016-11-21 14:08:28 --> Output Class Initialized
DEBUG - 2016-11-21 14:08:28 --> Input Class Initialized
DEBUG - 2016-11-21 14:08:28 --> Global POST and COOKIE data sanitized
DEBUG - 2016-11-21 14:08:28 --> Language Class Initialized
ERROR - 2016-11-21 14:08:28 --> 404 Page Not Found --> home/index
我知道我是新人,并且在这个问题上有很多帖子......我只是在做了一些(很多)测试我的自我之后才问 - 至少就我的知识而言去:D我一直在使用这个CI版本并设置了一段时间 - 并且意味着升级到CI 3 - 我已经测试/改变了我能想象到的并且面对许多不同主机/服务器的一切我仍然找不到解决方法。
答案 0 :(得分:1)
可能是因为
function Home () {
parent :: Controller();
// LOAD Libraries
$this->load->library(array('createdate','minitextile','showimages'));
// LOAD Models
$this->load->model('site_model');
}
应为http://www.codeigniter.com/user_guide/general/controllers.html#class-constructors
function __construct() {
parent::__construct();
// LOAD Libraries
$this->load->library(array('createdate','minitextile','showimages'));
// LOAD Models
$this->load->model('site_model');
}
在升级Home.php时,请确保您的文件名也正确,只有首字母大写。正如此处http://www.codeigniter.com/user_guide/general/styleguide.html#file-naming
所述答案 1 :(得分:0)
想出来!感谢您的帮助......但这是PHP配置上的一个问题... short_open_tag
未在服务器上激活......我花了一段时间才看到它! :p所以提示:检查一些php配置。