You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter 4.6.0仅加载默认页面及PHP代码显示问题求助

问题解决方案

Spark Serve 模式下路由404修复

  • 开启自动路由或手动添加路由:
    CI4默认关闭自动路由,若想直接通过控制器名/方法名访问,打开app/Config/Routes.php,设置$routes->setAutoRoute(true);;若需自定义路由,添加对应规则,例如:
    $routes->get('/home', 'Home::index');
    $routes->get('/home2', 'Home::index'); // 需确保Home控制器存在index方法
    
  • 恢复默认uriProtocol:
    打开app/Config/App.php,将$uriProtocol改回默认值:
    public $uriProtocol = 'REQUEST_URI';
    
  • 验证控制器合法性:
    确保app/Controllers/Home.php的类名与文件名一致(均为Home),且继承BaseController、包含index方法:
    namespace App\Controllers;
    
    class Home extends BaseController
    {
        public function index()
        {
            return view('welcome_message');
        }
    }
    

Apache 部署问题修复(含PHP明文显示解决)

  • 配置Apache解析PHP:
    编辑httpd.conf,添加/确认以下配置(路径替换为你的PHP安装目录):
    # 加载PHP模块
    LoadModule php8_module "C:/php/php8apache2_4.dll"
    # 设置PHP文件处理规则
    AddHandler application/x-httpd-php .php
    # 设置默认索引页
    DirectoryIndex index.php index.html
    
  • 启用URL重写模块:
    在httpd.conf中确保开启mod_rewrite:
    LoadModule rewrite_module modules/mod_rewrite.so
    
  • 配置项目根目录与权限:
    将Apache根目录指向项目的public文件夹,并设置AllowOverride All:
    DocumentRoot "C:/your-project-path/public"
    <Directory "C:/your-project-path/public">
        AllowOverride All
        Require all granted
    </Directory>
    
  • 验证.htaccess文件:
    确保项目public目录下存在.htaccess文件,内容为CI4默认规则:
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php/$1 [L]
    </IfModule>
    

内容的提问来源于stack exchange,提问作者Marv Ferrer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 12:30:07