在 wamp 中为 php 启用 opcache

Enable opcache for php in wamp

我尝试在 wamp 上启用 opcache,但它不起作用。我这样更改了设置:

[opcache]
zend_extension=C:/wamp/bin/php/php5.5.12/ext/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 的 php 扩展中总是有红色感叹号 怎么了?请帮忙

它在 phpinfo()

Zend OPcache
Opcode Caching  Up and Running
Optimization    Enabled
Startup OK
Shared memory model win32
Cache hits  0
Cache misses    1
Used memory 483608
Free memory 133734120
Wasted memory   0
Cached scripts  1
Cached keys 2
Max keys    7963
OOM restarts    0 
Hash keys restarts  0
Manual restarts 0


opcache.blacklist_filename  no value    no value
opcache.consistency_checks  0   0
opcache.dups_fix    Off Off
opcache.enable  On  On
opcache.enable_cli  Off Off
opcache.enable_file_override    Off Off
opcache.error_log   no value    no value
opcache.fast_shutdown   1   1
opcache.file_update_protection  2   2
opcache.force_restart_timeout   180 180
opcache.inherited_hack  On  On
opcache.interned_strings_buffer 8   8
opcache.load_comments   1   1
opcache.log_verbosity_level 1   1
opcache.max_accelerated_files   4000    4000
opcache.max_file_size   0   0
 opcache.max_wasted_percentage  5   5
opcache.memory_consumption  128 128
opcache.mmap_base   no value    no value
opcache.optimization_level  0xFFFFFFFF  0xFFFFFFFF
opcache.preferred_memory_model  no value    no value
opcache.protect_memory  0   0
opcache.restrict_api    no value    no value
opcache.revalidate_freq 60  60
opcache.revalidate_path Off Off
opcache.save_comments   1   1
opcache.use_cwd On  On
opcache.validate_timestamps On  On

我找到了这个如果你想知道它是否有效:https://github.com/rlerdorf/opcache-status/blob/master/opcache.php

既然你正在研究 windows 我认为你应该像这样设置路径

zend_extension=C:\path\to\php_opcache.dll (win) [注意斜杠]

对于你的情况: zend_extension=C:\wamp\bin\php\php5.5.12\ext\php_opcache.dll

请注意,当路径包含空格时,您应该将其括在引号中:

zend_extension="C:\Program Files\PHP5.5\ext\php_opcache.dll"

尝试一下,看看是否有帮助

在 PHP5.5.12 中,opcache 作为 zend 扩展提供,但它位于标准 ext 文件夹中。

因此,除了使用 zend_extension 而不是 extension 参数外,您将像加载任何其他 PHP 扩展一样加载它,因此请使用 php.ini 编辑您的文件wampmanager 菜单以确保您像这样编辑正确的文件:-

wampmanager -> PHP -> php.ini

首先检查这个参数是否设置正确:

extension_dir = "C:/wamp/bin/php/php5.5.12/ext/"

现在你已经在你的例子中加载了 OpCache dll,这样做它会从默认扩展文件夹加载,就像正常的 extension= 一样:-

zend_extension=php_opcache.dll

你可以这样做:-

zend_extension="C:/wamp/bin/php/php5.5.12/ext/php_opcache.dll"

但无需指定完整路径,因为它是从标准 ext 文件夹加载的。

警告

如果您仍在开发中,您几乎肯定不会打开此功能,因为它不会增加任何好处,并且可能会增加标准编译的时间,每次代码更改后重新缓存,并且可能不会重新编译和在不需要时使用缓存的代码。