Windows でのおすすめの構成

OpCache

OpCache を有効にすることを強く推奨します。この拡張モジュールは Windows 版の PHP に含まれています。 これは PHP スクリプトをコンパイルして最適化したうえで、メモリにキャッシュします。 そのため、ページを読み込むたびにコンパイルされることがなくなります。

php.ini では、次のように設定します:

例1 OpCache の推奨構成

opcache.enable=On
opcache.enable_cli=On
そしてウェブサーバーを再起動します。 詳細な情報は OpCache の実行時設定 を参照ください。

WinCache

IIS を使うなら、 WinCache を有効にすることを推奨します。 特に、共有ウェブホスティング環境やネットワークファイルストレージ (NAS) での利用の際におすすめです。 但し、PHP 8.0.0 以降では WinCache はサポートされていないことに注意して下さい。 すべての PHP アプリケーションが、 WinCache のファイルキャッシュ機能の恩恵を受けられます。 ファイルシステム上での操作が、メモリにキャッシュされるのです。 WinCache は、メモリ内のユーザーオブジェクトをキャッシュして、 php.exephp-cgi.exe のプロセス間で共有することもできます (複数リクエストでのオブジェクトの共有)。 主要なウェブアプリケーションの多くは、 プラグインや拡張モジュールあるいは設定オプションで WinCache のユーザーオブジェクトキャッシュを使えるようになっています。 ハイパフォーマンスを求めるなら、 アプリケーション内でオブジェクトキャッシュを利用すべきです。 » http://pecl.php.net/package/WinCache から WinCache DLL (あるいは tgz) をダウンロードして、 PHP の拡張モジュール用ディレクトリ (php.ini の extensions_dir) に配置しましょう。 php.ini では、次のように設定します:

例2 WinCache の推奨構成

extension=php_wincache.dll
wincache.fcenabled=1
wincache.ocenabled=1 ; removed as of wincache 2.0.0.0
詳細な情報は » http://php.net/manual/ja/wincache.configuration.php を参照ください。

IIS の構成

IIS マネージャーで FastCGI モジュールをインストールして、`.php` へのハンドラマッピングを追加します。ここでは、PHP-CGI.exe へのパスを指定します (PHP.exe ではありません)。

コマンドラインツール APPCMD を使えば、IIS の構成をスクリプト化できます。

データベース

おそらく、データベースサーバーも必要となることでしょう。 主要なデータベースは PHP 用の拡張モジュールを提供しています。 もしウェブサイトへのアクセスがそれほど多くないのなら、 ウェブサーバーと同じマシンでデータベースを動かすこともできます。 主要なデータベースの多くは Windows 上でも動作します。

PHP には mysqli 拡張モジュールと pdo_mysql 拡張モジュールが含まれています。

» https://dev.mysql.com/downloads/windows/ を参照ください。

add a note add a note

User Contributed Notes 1 note

up
4
paul dot lindgreen at msvu dot ca
6 years ago
Has anyone demonstrated in Windows/IIS a performance improvement regarding  opcache alone VS opcache/wincache used together? Is there any potential downside to using them both?
To Top