[php-src] Issue #23335: Add whitelist support to OPcache
[email protected] (printSamarth)
| Newsgroups | php.bugs |
|---|---|
| Message-ID | <[email protected]> |
Issue: https://github.com/php/php-src/issues/23335 Author: printSamarth ### Description OPcache currently supports excluding files using opcache.blacklist_filename. This works well when the number of files to exclude is small. However, in a multi-tenant application, the opposite can be true. There may be a large number of tenant-specific files that should not be cached, while only a small set of common application files should be cached. For example, instead of maintaining: /var/www/tenant-a/* /var/www/tenant-b/* /var/www/tenant-c/* ... it would be useful to define the files that are allowed to be cached: opcache.whitelist_filename=/path/to/whitelist with: /var/www/app/src/* /var/www/app/vendor/* The behavior would simply be the inverse of the blacklist: when a whitelist is configured, only matching files are cached. I think blacklist and whitelist should be mutually exclusive, with PHP-FPM failing at startup if both are configured. This would be particularly useful for applications where the set of files that should be cached is small and well-defined, while the set of files to exclude is large or dynamic. I'm happy to implement this and open a PR if this proposal makes sense.