Installing PHP OPcache for IIS

PHP opcode caching is a technique that can be used to improve the performance of PHP-based web applications by reducing the amount of time it takes to execute PHP code.

How does OPcache work?

To understand how opcode caching works, let’s first define some key terms:

PHP: PHP is a server-side scripting language used to build dynamic web applications.

Opcode: When PHP code is executed, it is first translated into a machine-readable format known as “opcodes.” These opcodes are then executed by the server’s CPU to produce the desired output.

Cache: A cache is a temporary storage location that stores frequently accessed data to reduce the time it takes to retrieve that data.

Now, let’s look at how PHP opcode caching works:

When a PHP script is executed, the server’s PHP engine first translates the code into opcodes.

Normally, these opcodes are discarded once the script has finished executing.

With opcode caching, however, the opcodes are stored in a cache (such as APC or OPcache) for later use.

The next time the same script is executed, the server can skip the translation step and simply retrieve the opcodes from the cache, which can significantly reduce the time it takes to execute the script.

The cached opcodes will remain in the cache until they are invalidated, either by the script being modified or by a cache clear command.

So essentially, opcode caching allows the server to avoid the time-consuming process of translating PHP code into opcodes on each request, by storing the opcodes in a cache and reusing them on subsequent requests.

So opcode caching is a simple and effective technique for improving the performance of PHP-based web applications, especially those with a lot of repetitive code.

So how do I install it?

  • First, download the appropriate OPcache DLL for your version of PHP and IIS from the official PHP website.
  • Then place the downloaded DLL file in the appropriate directory for PHP extensions. This can be found in the PHP.ini file under the extension_dir setting.
  • Open the PHP.ini file and add the following lines to enable the OPcache extension:
zend_extension=php_opcache.dll
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=2
opcache.fast_shutdown=1
opcache.save_comments=1
opcache.enable_file_override=0
  • These settings will enable OPcache, set the amount of memory it can use, and configure various other options.
  • Save the PHP.ini file and restart the IIS server for the changes to take effect.
  • Test that OPcache is working by creating a PHP script that outputs the results of the phpinfo() function. Look for the “Zend OPcache” section to see if it is enabled and running.

Note that the exact steps for installing and configuring OPcache may vary depending on your specific setup and version of PHP and IIS so some additional steps may be needed depending on your specific setup.



Leave a Reply