PHP 7.4.0 alpha 1 Released


(PHP 5 >= 5.5.0, PHP 7, PECL ZendOpcache >= 7.0.0)

opcache_resetResettet den Inhalt des OPcode Caches


opcache_reset ( void ) : bool

Diese Funktion resettet den gesammten OPcode Cache. Nach dem aufrufen von opcache_reset(), werden alles Scripte beim nächsten aufruf neu geladen und geparst.


Diese Funktion besitzt keine Parameter.


Gibt TRUE zurück wenn der OPcode cache resettet wurde, oder FALSE wenn der Cache deaktiviert ist.

Siehe auch

add a note add a note

User Contributed Notes 6 notes

fbgolly at gmail dot com
1 year ago
My workaround to clear cache via CLI is create a bash script like this:

RANDOM_NAME=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13)
echo "<?php opcache_reset(); ?>" > ${WEBDIR}${RANDOM_NAME}.php
curl http://localhost/${RANDOM_NAME}.php

put it in /usr/local/bin/opcache-clear and make it executable.
When I want to clear cache I simply run "opcache-clear" inside terminal.
3 years ago
It should be mentioned that opcache_reset() does not reset cache when executed via cli.
So `php -r "var_dump(opcache_reset());"` outputs "true" but doesn't clean cache. Make file, access it via http - and cache is clean.
2 years ago
In some (most?) systems PHP's CLI has a separate opcode cache to the one used by the web server or PHP-FPM process, which means running opcache_reset() in the CLI won't reset the webserver/fpm opcode cache, and vice-versa.
erutan409 at hotmail dot com
7 months ago
So, I thought I'd share something that might benefit those looking for a way to reset opcache in CLI.

As an example in my case, I'm running a Laravel app with a router script with the built-in web server for local development.  I enabled opcache with the following run configuration:

/path/to/php.exe -d zend_extension=php_opcache.dll -d opcache.enable_cli=1 -d opcache.memory_consumption=128 -d opcache.max_accelerated_files=10000 -d opcache.validate_timestamps=0 -d opcache.save_comments=0 -t project_path/public/ server.php

This is basically what artisan serve is doing behind the scenes, anyway, except without the opcache part.

I have some file watchers setup to detect changes and executes the following upon said change(s):

/path/to/php.exe -d zend_extension=php_opcache.dll -d opcache.enable_cli=1 -r "opcache_reset();"

The key is ensuring that you're enabling opcache in CLI.  I've been using this for some time, so I can attest to this being a viable solution without needing to create a script to execute somewhere in the document root, etc.

I'm only referring to Laravel as an example of why I chose to explore options for solving this problem.  This should translate to any scenario a developer would need to utilize opcache in their project(s) while using the built-in web server.
1 year ago
Run this to clear cache php -r 'opcache_reset();'
antoine dot vdsk at gmail dot com
3 years ago
For people who have difficulties with constants and opcache_reset().
If you include a file with constant and do an opcache_reset() in the same file, you'll probably have some error like :

"Notice: Constant already defined"

The trick is to call opcache_reset() in an isolated file, then include another file that include the file with constants.

File a.php

File b.php
include 'constants.php';

File constants.php
('MY_CONST', 'abcdef');

With this trick, the opcache will be reset in a.php and when b.php will be included, the constants will not be in cache anymore.
To Top