Skip to content

VM: CLI opcache file cache for bin/vm.php bootstrap (#36206) - #36319

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-36206-opcache-cli-bootstrap
Sep 2, 2026
Merged

VM: CLI opcache file cache for bin/vm.php bootstrap (#36206)#36319
PurHur merged 1 commit into
masterfrom
agent/issue-36206-opcache-cli-bootstrap

Conversation

@PurHur

@PurHur PurHur commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Summary

Partial #36206 step 1 — enable Zend OPcache for CLI invocations:

  • script/php-env.sh: default-on opcache.enable_cli=1 + git-SHA-keyed build/opcache-<sha>/ file cache (validate_timestamps=0). Opt out: PHP_COMPILER_OPCACHE_CLI=0.
  • test/BaseTest.php: compliance VM subprocesses get the same flags via phpCommand() so VMTest shards benefit without manual -d flags.
  • .gitignore: build/opcache-*

Lazy builtin registration / harness --batch mode remain follow-up.

Verify

./script/phpunit.sh --filter VmOpcacheCli36206Test
# OK (3 tests, 9 assertions)

make dev-verify-fast
# OK (72s): aot-smoke 9/9 + size gate, VM differential tier-0 15/15

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && echo "${PHP_OPTS[*]}" | tr " " "\n" | grep opcache'
# opcache.enable_cli=1
# opcache.file_cache=/compiler/build/opcache-7aab510f78ca
# opcache.validate_timestamps=0

Not run: full serial VMTest, 24-shard compliance baseline diff, north-star5-verify-fast.

Closes #36206 (step 1 only — hello ≤0.25s target needs lazy builtin registration follow-up).

Made with Cursor

…36206)

Default-on opcache.enable_cli with git-SHA-keyed build/opcache-* file cache
speeds repeated bin/vm.php boots during compliance runs. Opt out via
PHP_COMPILER_OPCACHE_CLI=0 when iterating on the same commit.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit a4ebfa0 into master Sep 2, 2026
@PurHur
PurHur deleted the agent/issue-36206-opcache-cli-bootstrap branch September 2, 2026 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant