docker-symfony icon indicating copy to clipboard operation
docker-symfony copied to clipboard

PHP - Don't Check PHP Files Timestamps

Open StaffNowa opened this issue 5 years ago • 0 comments

In production servers, PHP files should never change, unless a new application version is deployed. However, by default OPcache checks if cached files have changed their contents since they were cached. This check introduces some overhead that can be avoided as follows:

; php.ini
opcache.validate_timestamps=0

After each deploy, you must empty and regenerate the cache of OPcache. Otherwise you won't see the updates made in the application. Given that in PHP, the CLI and the web processes don't share the same OPcache, you cannot clear the web server OPcache by executing some command in your terminal. These are some of the possible solutions:

  1. Restart the web server;
  2. Call the apc_clear_cache() or opcache_reset() functions via the web server (i.e. by having these in a script that you execute over the web);
  3. Use the cachetool utility to control APC and OPcache from the CLI.

StaffNowa avatar Mar 11 '20 09:03 StaffNowa