在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

我总是有红色感叹号的扩展php的opcache什么错了吗?请提供一些帮助

它在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

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

因此,除了使用zend_extension而不是extension参数外,您将像加载任何其他PHP扩展一样加载它,因此使用wampmanager菜单编辑php.ini文件以确保您编辑正确的文件,如下所示:-
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文件夹加载的。

警告

如果你还在开发,你几乎肯定不会打开它,因为它不会增加任何好处,可能会增加标准编译的时间,在每次代码更改后进行重新编译,并且可能不会重新编译和使用缓存的代码,当你不希望它。

既然你在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"

试一下,看看是否有帮助