IIS高速化~OpCache-WinCacheの有効化

この記事を読むのに必要な時間は約 6 分です。

OpCache

php.ini

[opcache]
zend_extension=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.revalidate_freq=60
opcache.fast_shutdown=1
opcache.mmap_base = 0x20000000 ; (Windows only) fix OPcache crashes with event id 487
opcache.file_cache = "" ; デフォルトは空値

参考URL icon-link PHP.NET-OPcache
http://php.net/manual/ja/opcache.configuration.php

※設定が適切でない → event id 487 が発生する

ログの名前:         Application
ソース:           Zend OPcache
日付:            2018/10/21 13:52:50
イベント ID:       487
タスクのカテゴリ:      なし
レベル:           エラー
キーワード:         クラシック
ユーザー:          N/A
コンピューター:       SERVER
説明:
ソース "Zend OPcache" からのイベント ID 487 の説明が見つかりません。このイベントを発生させるコンポーネントがローカル コンピューターにインストールされていないか、インストールが壊れています。ローカル コンピューターにコンポーネントをインストールするか、コンポーネントを修復してください。
イベントが別のコンピューターから発生している場合、イベントと共に表示情報を保存する必要があります。
イベントには次の情報が含まれています: 
Base address marks unusable memory region. Please setup opcache.file_cache and opcache.file_cache_fallback directives for more convenient Opcache usage
無効なアドレスにアクセスしようとしています。
イベント XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Zend OPcache" />
    <EventID Qualifiers="0">487</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2018-10-21T18:52:50.000000000Z" />
    <EventRecordID>724726</EventRecordID>
    <Channel>Application</Channel>
    <Computer>SERVER</Computer>
    <Security />
  </System>
  <EventData>
    <Data>Base address marks unusable memory region. Please setup opcache.file_cache and opcache.file_cache_fallback directives for more convenient Opcache usage</Data>
    <Data>無効なアドレスにアクセスしようとしています。
</Data>
  </EventData>
</Event>


以下↓で対応

opcache.mmap_base = 0x20000000 ;


WinCache

Download icon-download

phpインストールフォルダ→ext→php_wincache.dllを配置

php.ini

extension=php_wincache.dll


phpは7.0以上が必要