The second parameter in your opcache.validate_timestamps config disables file checking for changes. Therefore, after updating the files you do not see the changes.
If you turn it on ( 1 ), the first parameter opcache.revalidate_freq comes into opcache.revalidate_freq , indicating how often changes will be checked (in seconds). If the value is 0 , then the check will be performed with each request.
It is possible for the development server to include OPCache meaning and no. As for the production server, the code updates are so frequent here. Therefore, either adjust the specified parameters as desired. Or, manually clear the cache using the opcache_reset() and opcache_invalidate() functions. The first of them clears the entire cache, the second for the specified file (updated in your case).
The hitch is that these functions will not work from the console, so after updating the site from the repository, you will not be able to simply add some hook to update the cache, and you have to execute a script on the site that will execute them.
PS: the correct answer does not pretend, OPCache did not use. I read the docks, the knowledge gained was set forth in response.
opcaсhebut your first two parameters obviously turn off file checking for changes. Of course, after this there will be no changes when replacing files. - teran