使用场景
当同一台服务器部署多套迅睿 CMS 站点时,每套站点独立升级框架会非常繁琐。可以将迅睿框架核心文件抽离为公共内核目录,所有站点统一引用;后续升级框架,仅需要更新这一份公共内核目录即可,大幅降低维护成本。
站点常规目录结构示例(入口文件为public/index.php,无需额外分离首页):
/www/站点1/public/index.php
/www/站点2/public/index.php
/www/站点3/public/index.php
/www/站点4/public/index.php
/www/站点5/public/index.php
操作步骤
- 创建公共框架目录 在服务器建立公共内核目录,示例路径:
/www/dayrui/
将官方安装包内完整的dayrui目录全部复制到此路径;目录名称可根据实际业务自定义。
- 修改站点入口文件
public/index.php以站点 1 为例,文件路径:/www/站点1/public/index.php
在程序执行代码的前方,新增以下常量定义代码:
//=======结束,安装之后可以删除此段代码
define('MYPATH', dirname(dirname(__FILE__)).'/dayrui/My/'); // 当前站点私有程序目录
define('APPSPATH', dirname(dirname(__FILE__)).'/dayrui/App/'); // 当前站点私有插件目录
define('TPLPATH', dirname(dirname(__FILE__)).'/template/'); // 当前站点模板目录
// 以下两个为可选配置,用于共享后台CSS样式资源
define('THEME_PATH', '站点1的域名/static/');
define('ROOT_THEME_PATH', THEME_PATH);
// 执行主程序
修改原有框架路径常量:
// 指定公共框架核心目录
define('FCPATH', '/www/dayrui/');
// 当前站点缓存目录(独立,每个站点隔离)
define('WRITEPATH', dirname(dirname(__FILE__)).'/cache/');
// 当前站点配置目录(独立,每个站点隔离)
define('CONFIGPATH', dirname(dirname(__FILE__)).'/config/');
- 验证站点访问 保存文件后访问站点 1 首页,页面正常打开无报错,代表配置生效。
- 清理站点本地框架文件 删除站点本地的核心框架目录,保留站点私有业务目录: 删除:
/www/站点1/dayrui/Fcms/
/www/站点1/dayrui/ThirdParty/
⚠️ 重要:
dayrui/My、dayrui/App两个目录禁止删除,属于站点私有业务、插件数据。
- 处理 user.ini 文件
删除站点下的
user.ini,或者修改文件内容,增加公共框架目录的访问权限。 - 其余站点批量配置 其他站点重复执行第 2‑5 步,完成全部站点对接公共内核。
补充注意事项
- 公共内核目录需要保证所有站点都具备可读权限;cache、config、template、My、App 为每个站点独立目录,互不干扰。
- 升级程序时,只更新公共
/www/dayrui/目录,各站点私有目录不要覆盖。 - 不建议二次开发修改公共内核目录下的源码,避免升级被覆盖,自定义逻辑请放在站点私有
My目录。
