If your production server still uses the legacy APC PHP extension instead of
OPcache, install the APCu Polyfill component in your application to enable
compatibility with APCu PHP functions and unlock support for advanced Symfony
features, such as the APCu Cache adapter.

OPcache stores the compiled PHP files to avoid having to recompile them for
every request. There are some byte code caches available, but as of PHP
5.5, PHP comes with OPcache built-in. For older versions, the most widely
used byte code cache is APC.

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:

1
2

; php.iniopcache.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 than 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:

Restart the web server;

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);

When a relative path is transformed into its real and absolute path, PHP
caches the result to improve performance. Applications that open many PHP files,
such as Symfony projects, should use at least these values:

The class loader used while developing the application is optimized to find
new and changed classes. In production servers, PHP files should never change,
unless a new application version is deployed. That's why you can optimize
Composer's autoloader to scan the entire application once and build a "class map",
which is a big array of the locations of all the classes and it's stored
in vendor/composer/autoload_classmap.php.

Execute this command to generate the class map (and make it part of your
deployment process too):

1

$ composer dump-autoload --optimize --no-dev --classmap-authoritative

--optimize dumps every PSR-0 and PSR-4 compatible class used in your
application;

--no-dev excludes the classes that are only needed in the development
environment (e.g. tests);

--classmap-authoritative prevents Composer from scanning the file
system for classes that are not found in the class map.