2026年5月17日(日) 0:19 Go Kudo <[email protected]>:

> Hi internals,
>
> I'd like to start the discussion for a new RFC, OPcache Static Cache.
>
> RFC: https://wiki.php.net/rfc/opcache_static_cache
> Implementation: https://github.com/php/php-src/pull/22052
>
> The proposal adds an OPcache-managed shared-memory cache for explicit
> userland values and for selected PHP static state. It introduces explicit
> functions under the OPcache namespace (volatile_* and persistent_*) and two
> attributes, #[OPcache\VolatileStatic] and #[OPcache\PersistentStatic], that
> let selected static properties and method static variables survive across
> requests. The feature is disabled by default and only activates once memory
> is allocated through the new INI directives.
>
> The RFC covers the motivation, the deliberate split between the two
> backends, the trust model (one PHP runtime = one trust domain; this is not
> a tenant isolation boundary), and benchmarks against APCu on NTS php-fpm
> and ZTS FrankenPHP. The PR is the full implementation, with PHPT coverage
> summarized in the Validation section.
>
> One thing to flag on the implementation status: the Windows build is
> currently broken. I don't have a Windows development environment available
> yet — one is being arranged through work, and I'll get the Windows side
> fixed once that's in place.
>
> Feedback welcome.
>
> Best Regards,
> Go Kudo
>

Hi internals,

I made a minor clarification update to the OPcache Static Cache RFC.

The RFC is now version 1.3.0. I removed the Open Issues section and
folded the former pool/namespace item into the Security and Trust Model
and Future Scope.

The updated text clarifies that one OPcache static-cache shared-memory
segment is one trust domain, and that OPcache Static Cache is not a
tenant-isolation boundary. Deployments that run mutually untrusted
tenants under a single PHP master should disable the static-cache
backends for that master, or use separate PHP/FPM master processes,
containers, virtual machines, or equivalent OS-level isolation.

This does not change the proposed API, INI directives, default values,
implementation semantics, or voting choices.

Unless new relevant and substantive issues are raised during the remaining
cooldown period, I intend to send an Intent to Vote and proceed to the
voting phase once the cooldown has elapsed.

RFC: https://wiki.php.net/rfc/opcache_static_cache
Discussion thread: https://externals.io/message/130912

Best regards,
Go Kudo

Reply via email to