From 55f385450407a3d8c6c7c90ec4dc8995f5277a94 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 15 Aug 2026 07:50:54 +0900 Subject: fix(phar): match the stub token in any letter case `__halt_compiler` is a PHP keyword, so a stub may spell the token in any letter case. The native phar reader compared the bytes exactly and rejected such an archive, and the lint that keeps a second token out of the executable missed lowercase ones, which would shadow the embedded bundle. Co-Authored-By: Claude Opus 5 (1M context) --- docs/dev/composer-runtime-bundle.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs/dev/composer-runtime-bundle.md') diff --git a/docs/dev/composer-runtime-bundle.md b/docs/dev/composer-runtime-bundle.md index f152897f..19d49bce 100644 --- a/docs/dev/composer-runtime-bundle.md +++ b/docs/dev/composer-runtime-bundle.md @@ -27,7 +27,8 @@ cached per file, and the bundle is never re-verified. A phar file consists of 3 or 4 sections: a stub, a manifest, the actual contents and an optional signature. The stub and the manifest are separated by `__HALT_COMPILER();` tokens, which means that Shirabe's executable binary -must not contain the tokens except for phar's one. +must not contain the tokens except for phar's one. Note that the token is +case-insensitive. ## Accessing files at runtime -- cgit v1.3.1-4-g156e