概要: WordPress などの最近のウェブサイトやウェブアプリケーションの多くは、PHP プログラミング言語で記述されています。このようなウェブサイトやウェブアプリケーションを正しく動作させるには、Plesk で PHP サポートを有効にし、PHP ハンドラを選択する必要があります。

このトピックでは、Plesk でサポートされているさまざまな PHP ハンドラについて説明し、ウェブサイトに最適なハンドラを選択する方法についても説明します。

概要

Plesk で ウェブサイトの PHP サポートを有効化し、構成する 一環として、ウェブサイト用の PHP ハンドラを選択する必要があります。PHP ハンドラは、ウェブサイトまたはウェブアプリケーションが正しく動作するように PHP コードを処理するメカニズムです。

ウェブサイトごとに一度に選択できる PHP ハンドラは 1 つだけです。PHP サポートが有効になっているウェブサイトごとに、1 つずつ選択する必要があります。適切な PHP ハンドラを選択することが重要です。適切な PHP ハンドラを選択しないと、ウェブサイトまたはウェブアプリケーションの読み込み速度が低下したり、サーバリソースを過剰に消費したり、まったく動作しなくなったりする可能性があります。

Plesk は、Linux と Windows の両方で「FastCGI アプリケーション」PHP ハンドラをサポートしています。さらに、Plesk for Linux では「FPM アプリケーション」と「専用 FPM アプリケーション」ハンドラもサポートされており、Apache または nginxで 処理できます。

注釈: Plesk Obsidian は、「ISAPI モジュール」、「Apache で処理される mod_php」、「CGI アプリケーション」の PHP ハンドラもサポートしています。しかし、これらは著しく古く、安全性に欠けるため、使用は推奨されません。そのため、このトピックでは取り上げません。

(Plesk for Linux) Apache または nginx によって処理される PHP ハンドラ

Plesk for Linux では、「FastCGI アプリケーション」PHP ハンドラは常に Apache ウェブサーバによって処理されます。ただし、「FPM アプリケーション」および「専用 FPM アプリケーション」PHP ハンドラは Apache または nginx のいずれかによって処理されます。

image served by apache nginx

注釈: ウェブサイトの [Apache と nginx の設定] ページで [プロキシモード] チェックボックスがオンになっていない場合、そのウェブサイトでは Apache によって処理される PHP ハンドラは使用できません。

この 2 つのオプションの主な違いとしては、nginx によって処理される PHP ハンドラでは .htaccess ファイルの内容が無視されます。このファイルは、ウェブサイトの設定を微調整するために使用されることがあります。 .htaccess ファイルのルールを必要とするウェブサイトやウェブアプリケーションが、nginx によって処理される PHP ハンドラを使用するように設定されている場合、正しく動作しない可能性があります。

ウェブサイトまたはウェブアプリケーションが動作するために .htaccess ファイル内のルールを必要とする場合は、次のオプションがあります。

  • Apache によって処理される PHP ハンドラを使用する。
  • こちらの KB 記事 で説明されているように、これらのルールを nginx が理解できるフォーマットに変換する。

PHP ハンドラに関する情報

以下のハンドラはすべて業界標準であり、使用が推奨されています。それぞれのハンドラの違いについては、以下をお読みください。

FastCGI アプリケーション

CGI アプリケーション PHP ハンドラの改良版です。これは Plesk for Windows サーバで推奨される PHP ハンドラです。

FastCGI アプリケーション PHP ハンドラプロセスは継続的に実行され、適切なパフォーマンスと優れた分離を実現します。

(Plesk for Linux) FPM アプリケーション

FastCGI アプリケーション PHP ハンドラのさらなる改良版です。これは専用の Plesk for Linux サーバで推奨される PHP ハンドラです。

「FPM アプリケーション」PHP ハンドラの特筆すべき点は、Opcode キャッシュをサポートしていることです。これにより、コンパイル済みの PHP スクリプトをメモリ上に保存できるようになります。結果として、メモリ使用量が増える代わりにパフォーマンスが向上します。

「FPM アプリケーション」PHP ハンドラを使用し、同じ PHP バージョンを使用しているすべてのウェブサイトは、同じ PHP-FPM プロセスのプールを共有します。これには次のような欠点があります。

  • 「専用 FPM アプリケーション」PHP ハンドラと比較してキャッシュパフォーマンスが低下します。あるウェブサイトのスクリプト用のスペースを確保するために、別のウェブサイトのキャッシュ済みスクリプトが削除される場合があるためです。
  • 分離が不十分なため、1 つのウェブサイトが機能不全に陥ると、同じ PHP バージョンとハンドラを使用している他のすべてのウェブサイトがダウンする可能性があります。

(Plesk for Linux) 専用 FPM アプリケーション

「FPM アプリケーション」PHP ハンドラと同じですが、ウェブサイトごとに PHP-FPM プロセスのプールが別々になっています。これは、強要ホスティング用の Plesk for Linux サーバで推奨される PHP ハンドラです。

各ウェブサイトに PHP-FPM プロセスのプールを個別に用意することで、「FPM アプリケーション」PHP ハンドラと比較して分離性が向上します。また、各ウェブサイトに個別の Opcode キャッシュが備わっているため、多くのウェブサイトが共有キャッシュを巡って競合するという状況を防ぐことができ、個々のスクリプトがキャッシュ内に長時間残ることがなくなり、最大限のパフォーマンスが得られます。

ただし、これにより Opcode キャッシュに使用されるメモリ量も増加します。多数のウェブサイトをホストするサーバでこの PHP ハンドラを使用する場合は、サーバを監視してメモリ不足が発生していないことを確認することをお勧めします。

注釈: Plesk には、サーバを監視するための無料オプションと有料オプションの両方が用意されています。Plesk のサーバ監視について詳しくは こちら をご覧ください。