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

本地正常的CI4重构应用部署到虚拟主机的问题求助

解决CodeIgniter 4子目录部署到虚拟主机的问题

一、修正URL访问结构(去掉public路径)

因为你需要在子目录(clearwater2)下部署,且不能修改顶级域名的文档根目录(要保留其他子目录实例),按以下步骤配置:

  1. 在clearwater2的根目录(对应https://ijump-trampoline.co.za/clearwater2/的服务器目录)创建index.php文件,内容如下:
<?php
define('CI_DEBUG', false); // 排查阶段可改为true,生产环境设为false
require_once __DIR__ . '/public/index.php';
  1. 同样在clearwater2根目录创建.htaccess文件,配置URL重写:
RewriteEngine On

# 跳过真实存在的文件/目录的重写
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# 将所有请求转发到根目录的index.php
RewriteRule ^(.*)$ index.php/$1 [L]
  1. 调整CI4的基础URL配置:打开app/Config/App.php,修改baseURL为你的子目录地址:
public $baseURL = 'https://ijump-trampoline.co.za/clearwater2/';

完成后,你就可以通过https://ijump-trampoline.co.za/clearwater2/booking访问路由,无需带public路径。

二、解决Core.enabledZlibOutputCompression异常

这个错误是因为CI4的zlib输出压缩配置与服务器的压缩设置冲突,解决方法:

打开app/Config/Core.php,将enabledZlibOutputCompression设置为false:

public $enabledZlibOutputCompression = false;

如果需要压缩功能,可依赖服务器端的zlib配置(通过phpinfo确认zlib.output_compression是否为On),无需在CI4中重复开启。

三、排查HTTP 500内部错误

500错误的具体原因需要通过日志或调试模式定位:

  1. 临时开启调试模式:修改app/Config/App.php中的debug为true:
public $debug = true;

此时访问页面会显示具体的错误信息,比如权限不足、缺少PHP扩展、路径错误等。

  1. 检查服务器错误日志:登录虚拟主机的控制面板(如cPanel),找到错误日志入口,查看最近的错误记录,这是定位生产环境500错误的最可靠方式。

  2. 验证必要条件:

    • 确认虚拟主机的PHP版本为8.1或兼容CI4的版本(CI4.3+支持PHP 8.1)
    • 检查PHP扩展:确保intl、mbstring、json、ctype等CI4必需的扩展已开启(可通过创建phpinfo.php文件查看)
    • 权限设置:确保writable/目录及其子目录(cache、session、logs)的权限为755或775,保证PHP进程有写入权限

四、替换旧版CI3并保留原有URL结构

等CI4版本调试正常后,按以下步骤替换:

  1. 备份旧版clearwater目录的所有内容
  2. 将clearwater2目录的所有文件/目录移动到clearwater目录
  3. 修改clearwater/app/Config/App.php中的baseURL为https://ijump-trampoline.co.za/clearwater/
  4. 测试原有URL(如https://ijump-trampoline.co.za/clearwater/booking)是否正常访问

对于同一域名下的其他子目录实例,重复上述部署步骤即可,每个实例独立配置自己的baseURL和权限,不会互相干扰。

内容的提问来源于stack exchange,提问作者Andre Clements

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 17:25:26