在wamp中为php启用opcache

时间:2015-09-21 14:20:43

标签: php wamp php-ini opcache

我尝试在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

2 个答案:

答案 0 :(得分:9)

在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文件夹加载的完整路径。

<强> 警告

如果你还在开发中,你几乎肯定不会这样做,因为它不会增加任何好处,并且可以为标准编译增加时间,在每次代码更改后进行恢复,并且可能不会重新编译和使用你不想要它时缓存代码。

答案 1 :(得分:0)

由于您正在使用Windows,我认为您应该像这样设置路径

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

适用于您的情况: 的的zend_extension = C:\瓦帕\ BIN \ PHP中\ php5.5.12 \分机\ php_opcache.dll

请注意,当路径包含空格时,您应将其用引号括起来:

zend_extension =&#34; C:\ Program Files \ PHP5.5 \ ext \ php_opcache.dll&#34;

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