In Drupal 8, it will be better if we can enable OPCache.

How to enable OPCache in my localhost ?

I am using xampp v3.2.1 & windows 7.

Thank you.

Comments

fabrizior’s picture

With XAMPP version xampp-win32-5.6.14-4-VC11 I've added, after the section [dba],
this:

zend_extension=php_opcache.dll

[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1

; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=0

; The OPcache shared memory storage size.
opcache.memory_consumption=64

; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=4

; The maximum number of keys (scripts) in the OPcache hash table.
 Only numbers between 200 and 100000 are allowed.
;opcache.max_accelerated_files=2000

; The maximum percentage of "wasted" memory until a restart is scheduled.
opcache.max_wasted_percentage=5

; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
opcache.use_cwd=1

; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
;opcache.validate_timestamps=1

; How often (in seconds) to check file timestamps for changes to the shared
; memory storage allocation. ("1" means validate once per second, but only
; once per request. "0" means always validate)
;opcache.revalidate_freq=2

; Enables or disables file search in include_path optimization
;opcache.revalidate_path=0

; If disabled, all PHPDoc comments are dropped from the code to reduce the
; size of the optimized code.
;opcache.save_comments=1

; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
; may be always stored (save_comments=1), but not loaded by applications
; that don't need them anyway.
;opcache.load_comments=1

; If enabled, a fast shutdown sequence is used for the accelerated code
;opcache.fast_shutdown=0

; Allow file existence override (file_exists, etc.) performance feature.
;opcache.enable_file_override=0

; A bitmask, where each bit enables or disables the appropriate OPcache
; passes
;opcache.optimization_level=0xffffffff

;opcache.inherited_hack=1
;opcache.dups_fix=0

; The location of the OPcache blacklist file (wildcards allowed).
; Each OPcache blacklist file is a text file that holds the names of files
; that should not be accelerated. The file format is to add each filename
; to a new line. The filename may be a full path or just a file prefix
; (i.e., /var/www/x  blacklists all the files and directories in /var/www
; that start with 'x'). Line starting with a ; are ignored (comments).
;opcache.blacklist_filename=

; Allows exclusion of large files from being cached. By default all files
; are cached.
;opcache.max_file_size=0

; Check the cache checksum each N requests.
; The default value of "0" means that the checks are disabled.
;opcache.consistency_checks=0

; How long to wait (in seconds) for a scheduled restart to begin if the cache
; is not being accessed.
;opcache.force_restart_timeout=180

; OPcache error_log file name. Empty string assumes "stderr".
;opcache.error_log=

; All OPcache errors go to the Web server log.
; By default, only fatal errors (level 0) or errors (level 1) are logged.
; You can also enable warnings (level 2), info messages (level 3) or
; debug messages (level 4).
;opcache.log_verbosity_level=1

; Preferred Shared Memory back-end. Leave empty and let the system decide.
;opcache.preferred_memory_model=

; Protect the shared memory from unexpected writing during script execution.
; Useful for internal debugging only.
;opcache.protect_memory=0

Then I restarted Apache. Seems working fine.

Drupal 8's installation doesn't give me any warning.

Ciao,
Fabrizio

brainites’s picture

@fabrizior You saved my day! Did use full path in the zend_extension section though. Didn't want to take chances since all zend_extension definitions I saw in php.ini used full path.
Like
zend_extension="G:\xampp\php\ext\php_opcache.dll"

vijayrami’s picture

Great thanks...
I am installing Drupal at very first time.
And have same error.
And i apply this first solution.
And works fine for me...
“Every solution to every problem is simple. It's the distance between the two where the mystery lies.”

raghwendra’s picture

Correct information I save my time a lot!

nikunjvadariya’s picture

@fabrizio Thanks for the solution

pazhyn’s picture

For Mac OS X simply uncomment this row in php.ini (located in /Applications/XAMPP/xamppfiles/etc/):
zend_extension=opcache.so
And restart Apache.

JaiprakashGoplani’s picture

Thanks very much searching for this only.

Jesus Youth’s picture

This works for me.

omrmankar’s picture

Perfect Solution Macbook user Thank you so much :)

Best regards,

Omprakash Mankar
Senior Drupal Developer

ntnghia’s picture

Thank you.

ntnghia’s picture

Thank you.

MarekZientek’s picture

kalidasan’s picture

// Add below line at php.ini file. This alone will fix this issue.
zend_extension = "C:\xampp\php\ext\php_opcache.dll"

More details :

If your XAMPP comes with PHP 5.5+ by default, opcache already included in the bundle, you will just need to enable it. To enable the extension:

  • Open php.ini (by default it should be located here: C:\xampp\php\php.ini).
  • Add this line at the end of the file: zend_extension = "C:\xampp\php\ext\php_opcache.dll"
  • Restart Apache server.

Reference link

greta_drupal’s picture

Be sure to add this zend_extension URL reference to the PHP.ini options [PHP] section. I added it at end of "Paths and Directories", just before "File Uploads" settings.

chichuno’s picture

And in ampps ? how i enable it ?

quocmaivan’s picture

How to fix maximum upload files?

jamadar’s picture

pipicom’s picture

Works for me! Thank you.

filtermusic.net

Hemangi Gokhale’s picture

It worked!!

harish b’s picture

It worked for me.

tornikesharia’s picture

Thank you. Perfectly worked for me.

srinivasim’s picture

Thank you. I am going learn Drupal development so i am searching for more information to save time and knowledge.

ruchirapingale’s picture

Hi,

1) Add this line zend_extension = "C:\xampp\php\ext\php_opcache.dll".
2) Remove ";" from stating of following lines
opcache.enable=1 (Determines if Zend OPCache is enabled for the CLI version of PHP)

opcache.memory_consumption=64 (The OPcache shared memory storage size)

opcache.max_wasted_percentage=5 (The maximum percentage of "wasted" memory until a restart is scheduled)

opcache.use_cwd=1 (When this directive is enabled, the OPcache appends the current working directory to the script key, thus eliminating possible collisions between files with the same name (basename))

opcache.max_wasted_percentage=5(The maximum percentage of "wasted" memory until a restart is scheduled.)

Thanks!

Bosire’s picture

Worked perfectly on D8.

ramesh_singh’s picture

XAMPP comes with PHP OPCache already included in the bundle, you just need to enable it. To enable the extension:
1.Open the file with Notepad++: c:\xampp\php\php.ini
2.Add this line near the extention section: zend_extension=php_opcache.dll
3.Stop/Start Apache

SkyRunner’s picture

Can anyone help me out to setup AMPPS using OPcache?

scorp13’s picture

Be careful when working with OPCache blacklist file — it seems that if you using XAMPP (or just working on Windows), you can not use wildcards ("*" and "?" symbols) inside it.

bmateus’s picture

Ok, so based on the these answers https://www.drupal.org/forum/support/installing-drupal/2015-11-26/how-to-enable-opcache-in-xampp#comment-12031111,  https://www.drupal.org/forum/support/installing-drupal/2015-11-26/how-to-enable-opcache-in-xampp#comment-11693467 and https://www.drupal.org/forum/support/installing-drupal/2015-11-26/how-to-enable-opcache-in-xampp#comment-12124229, I've consolidated that:

On the main php.ini, add the line "zend_extension=php_opcache.dll" to the end the file.

On the same php.ini file, remove the ';' from the following settings:

opcache.enable=1
opcache.memory_consumption=64
opcache.max_wasted_percentage=5
opcache.use_cwd=1

Finally, stop and restart Apache to use the changed settings.

Bruno Mateus

papijo’s picture

Thanks for your clear explanation, Bruno. Saved my day!

hamadknows’s picture

Thank's it quickly resolved my issue, though i was using the Latest Version of Xampp with PHP 7.3 

Bobby Endarr Ramdin’s picture

if you are using XAMPP uncomment line 1031

zend_extension=opcache.so

restart apache

mrhoseah’s picture

Download plecl releases here , and enable it on php.ini 

extension=opcache.dll

that should work. It worked for me. All the best