CodeIgniter部署问题:本地(XAMPP)正常,cPanel服务器提示无法加载请求文件
解决CodeIgniter部署到cPanel后「Unable to Load the Requested File」错误
我碰到过好几个开发者遇到这个问题,本质上大多是本地Windows环境(XAMPP)和cPanel的Linux环境差异导致的,结合你的代码和场景,给你几个针对性的排查和解决方向:
1. 优先检查文件/目录的大小写问题
Windows系统(XAMPP默认运行环境)对文件名大小写不敏感,但cPanel用的Linux系统是严格区分大小写的,这是最常见的坑:
- 控制器文件:你的控制器类是
Industries,对应的文件必须是application/controllers/industries.php(全小写,类名首字母大写是CI规范,但文件名要小写) - 视图路径:代码里写的
"Industries/view_industry",实际视图文件必须放在application/views/Industries/目录下(目录名大小写完全匹配),且文件名是view_industry.php
如果你的本地文件是小写目录,代码里却写了大写,或者反过来,到Linux服务器上就会找不到文件。
2. 确认视图文件是否存在且路径正确
- 登录cPanel的文件管理器,检查
application/views/Industries/目录下是否真的存在view_industry.php文件,有没有上传漏了? - 核对代码里的
$data['main_view']路径:有没有多写/少写字符?比如是不是写成了"Industry/view_industry"(少了末尾的s)?
3. 检查路由配置的正确性
你提到了路由配置$route...,要确保路由规则里的控制器名是小写(Linux环境下CI路由对控制器名大小写敏感):
比如正确的路由应该是类似这样:
$route['industry/(:num)'] = 'industries/view_industry/$1';
如果路由里写的是Industries/view_industry(首字母大写),在Linux上就会找不到控制器。
4. 调整文件/目录权限
cPanel服务器上的文件权限如果不正确,CI会无法读取视图文件:
- 视图目录
application/views/Industries/的权限设置为755 - 视图文件
view_industry.php的权限设置为644
你可以在cPanel文件管理器里右键文件/目录,选择“更改权限”来调整。
5. 确认base_url配置正确
打开application/config/config.php,检查$config['base_url']是否设置为你cPanel上的域名,比如:
$config['base_url'] = 'https://your-domain.com/';
如果base_url设置错误,可能导致CI解析路径时出现异常。
按照这个顺序排查,基本能解决绝大多数这类问题。
内容的提问来源于stack exchange,提问作者Crumby
相关产品推荐
相关产品推荐

