Home>Article>Backend Development> What should I do if php7 opcache cannot be opened?
How to enable opcache in php7: 1. In the CLI environment, enable opcache by setting "opcache.enable_cli=1"; 2. Set the opcache shared memory storage size by "opcache.memory_consumption=128"; 3. Turn on Opcache File Cache and cache the opcode cache in an external file; 4. Restart php-fpm.
#The operating environment of this tutorial: Windows 7 system, PHP 7 version, Dell G3 computer.
php7 What should I do if opcache cannot be opened?
How to enable opcache extension in PHP7:
opcache: To put it bluntly, it caches the PHP source code without compiling the binary.
PHP7 has the opcahe extension installed by default, you just need to enable it
vim /usr/local/php/etc/php.ini zend_extension='opcache.so'
Configuration introduction
In CLI environment, PHP enables OPcache
opcache.enable_cli=1
;OPcache Shared memory storage size, unit MB
opcache.memory_consumption=128
; PHP uses a technology called string interning to improve performance. For example, if you use the string "foobar" 1000 times in your code, PHP will only allocate an immutable memory area to store the string the first time it is used, and the other 999 times it will be used. Point directly to this memory area. This option will take this feature to the next level - by default this immutable memory area will only exist in a single php-fpm process. If this option is set, it will exist in all php-fpm processes. shared in. In larger applications, this can be very effective in saving memory and improving application performance.
The value of this option is in megabytes. If it is set to 16, it means 16MB. The default is 4MB
opcache.interned_strings_buffer=8
;This option is used to control the memory The maximum number of PHP files that can be cached. This option must be set large enough to be larger than the sum of all PHP files in your project.
The minimum value of the setting value range is 200, the maximum value before PHP 5.5.6 is 100000, and PHP 5.5.6 and later is 1000000. That is to say between 200 and 1,000,000.
opcache.max_accelerated_files=4000
;Set the cache expiration time (in seconds). If it is 0, it must be checked every time.
opcache.revalidate_freq=60
;The literal meaning is "allow faster closing". Its role is to provide a faster mechanism to call the destructor in the code at the end of a single request, thereby speeding up PHP's response speed and recycling of PHP process resources, so that the application can respond to the next request more quickly . Set it to 1 to use this mechanism.
opcache.fast_shutdown=1
;If enabled (set to 1), OPcache will check the file timestamp (timestamp) in the number of seconds set by opcache.revalidate_freq to check whether the script has been updated.
If this option is disabled (set to 0), opcache.revalidate_freq is ignored and PHP files are never checked. This means that if you modify your code, and then you update it to the server, and then request the function corresponding to the updated code on the browser, you will not see the effect of the update
Strongly recommend you Set it to 0 in the production environment. After updating the code, restart PHP and the web server smoothly.
opcache.validate_timestamps=0
;Enable Opcache File Cache (experimental). By enabling this, we can let Opcache cache the opcode cache in an external file. For some scripts, there will be a significant performance improvement.
In this way, PHP will cache some Opcode binary export files in the /tmp directory, which can exist across the PHP life cycle.
opcache.file_cache=/tmp
It is recommended in development mode that it is better to disable the opcache extension directly
opcache.enable=1 opcache.enable_cli=1 opcache.revalidate_freq=0 opcache.validate_timestamps=1 opcache.max_accelerated_files=3000 opcache.memory_consumption=192 opcache.interned_strings_buffer=16 opcache.fast_shutdown=1
Recommended when multiple machines are in cluster mode or when code updates are frequent, it can take into account performance and facilitate code updates
opcache.enable=1 opcache.enable_cli=1 opcache.revalidate_freq=300 opcache.validate_timestamps=1 opcache.max_accelerated_files=7963 opcache.memory_consumption=192 opcache.interned_strings_buffer=16 opcache.fast_shutdown=1
Recommended for stable projects, with the best performance
opcache.enable=1 opcache.enable_cli=1 opcache.revalidate_freq=0 opcache.validate_timestamps=0 opcache.max_accelerated_files=7963 opcache.memory_consumption=192 opcache.interned_strings_buffer=16 opcache.fast_shutdown=1
Clear the cache and restart php-fpm
/etc/init.d/php-fpm restart
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What should I do if php7 opcache cannot be opened?. For more information, please follow other related articles on the PHP Chinese website!