Publish the two CodeIgniter draft posts (EN+ZH) with OG + banner art
Deploy / build (push) Successful in 24s

- migrating-codeigniter-iis-to-openlitespeed (engineering): the two fatal errors
  IIS + SSO had been hiding (env() called from Constants.php; parent::__construct
  in a controller) — both only surfaced on the first unauthenticated request
- upgrading-codeigniter-46-to-47 (notes): the two undefined config properties the
  official upgrade guide cannot warn about (Config\App::$permittedURIChars,
  Config\Format::$jsonEncodeDepth)
- both flipped draft:true -> false, pubDate 2026-09-20 -> 2026-09-27 (real publish date)
- generated 1200x630 OG cards + 1600x900 banners for both slugs
- verified before commit: EN+ZH pages build, language switch links both ways,
  listing order stays monotonic on /posts, /zh and the homepage, banner terminal
  panel centred (gapAbove 102 / gapBelow 104) with no overflow
This commit is contained in:
Hermes Agent
2026-09-29 01:01:42 +08:00
parent d1c040d648
commit 416246cc68
8 changed files with 8 additions and 8 deletions
@@ -1,12 +1,12 @@
---
title: "Migrating a CodeIgniter 4 App From IIS to OpenLiteSpeed"
description: "I moved a 17,000-line CodeIgniter 4 app from Windows IIS to OpenLiteSpeed on CyberPanel. Two fatal errors appeared that IIS had been hiding behind SSO."
pubDate: 2026-09-20
pubDate: 2026-09-27
category: engineering
tags: [codeigniter, php, openspeedway, cyberpanel, iis, migration, litespeed, linux]
ogImage: /og/migrating-codeigniter-iis-to-openlitespeed.png
banner: /banners/migrating-codeigniter-iis-to-openlitespeed.png
draft: true
draft: false
---
I maintain a numerology report generator: a CodeIgniter 4 application that takes a birth date and a name, runs them through a numerology engine, and renders a 19-page A4 report. It had run on Windows Server with IIS for years. In September 2026 I moved it to OpenLiteSpeed on CyberPanel, on Linux, on a different domain.
@@ -1,12 +1,12 @@
---
title: "Upgrading CodeIgniter 4.6 to 4.7: The Breaking Changes the Guide Misses"
description: "The official CodeIgniter 4.7 upgrade guide lists eight breaking changes. The two that actually fataled my app weren't in it — and both are the same class of problem."
pubDate: 2026-09-20
pubDate: 2026-09-27
category: notes
tags: [codeigniter, php, upgrade, composer, breaking-changes, config, framework]
ogImage: /og/upgrading-codeigniter-46-to-47.png
banner: /banners/upgrading-codeigniter-46-to-47.png
draft: true
draft: false
---
I upgraded a CodeIgniter 4 app from 4.6.3 to 4.7.4. I read the upgrade guide, checked every documented breaking change against the codebase, and confirmed none of them applied. Then I ran the app and it fataled twice.
@@ -1,12 +1,12 @@
---
title: "把 CodeIgniter 4 应用从 IIS 迁移到 OpenLiteSpeed"
description: "我把一个 17,000 行的 CodeIgniter 4 应用从 Windows IIS 搬到了 CyberPanel 上的 OpenLiteSpeed。迁移后冒出两个致命错误——而 IIS 一直靠 SSO 把它们藏着。"
pubDate: 2026-09-20
pubDate: 2026-09-27
category: engineering
tags: [codeigniter, php, openspeedway, cyberpanel, iis, migration, litespeed, linux]
ogImage: /og/migrating-codeigniter-iis-to-openlitespeed.png
banner: /banners/migrating-codeigniter-iis-to-openlitespeed.png
draft: true
draft: false
---
我维护着一个数字命理报告生成器:一个 CodeIgniter 4 应用,接收出生日期和姓名,跑一遍命理引擎,渲染出 19 页 A4 报告。它在 Windows Server + IIS 上跑了很多年。2026 年 9 月,我把它迁到 CyberPanel 上的 OpenLiteSpeed,跑在 Linux 上,换了个域名。
@@ -1,12 +1,12 @@
---
title: "CodeIgniter 4.6 升级到 4.7:官方指南没说到的破坏性变更"
description: "CodeIgniter 4.7 官方升级指南列了八项破坏性变更。真正让我应用致命崩溃的那两项不在里面——而且它们属于同一类问题。"
pubDate: 2026-09-20
pubDate: 2026-09-27
category: notes
tags: [codeigniter, php, upgrade, composer, breaking-changes, config, framework]
ogImage: /og/upgrading-codeigniter-46-to-47.png
banner: /banners/upgrading-codeigniter-46-to-47.png
draft: true
draft: false
---
我把一个 CodeIgniter 4 应用从 4.6.3 升到了 4.7.4。我读了升级指南,把每一项文档化的破坏性变更都对着代码库核了一遍,确认没有一项影响到我。然后我跑了一下应用,它致命崩溃了两次。