web-dev-qa-db-ja.com

wampでphpの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

私はいつもopcacheのphpの拡張機能に赤い感嘆符を持っていますか?いくつかのヘルプpls

そしてそれは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

11
I_G

PHP5.5.12では、opcacheはzend拡張機能として提供されていますが、標準のextフォルダーにあります。

したがって、extensionパラメータではなくzend_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フォルダーからロードされるため、絶対パスを指定する必要はありません。

警告

まだ開発中の場合は、何もメリットがなく、コードを変更するたびに再キャッシュし、キャッシュコードを再コンパイルして使用しない可能性があるため、標準のコンパイルに時間を追加する可能性があるため、これをオンにしたことはほぼ間違いありません。あなたはそれを望まない。

9
RiggsFolly

あなたはウィンドウで作業しているので、私はこのようにパスを設定する必要があると思います

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"

それを試してみて、それが役立つかどうかを確認してください

0
MadHatter