PHP 構成をカスタマイズする

PHP とは、動的ウェブページの作成によく用いられるスクリプティング言語の 1 つです。最新のウェブサイトやウェブアプリケーションのほとんどは、PHP スクリプトをベースにしています。従って、サイト管理者は PHP スクリプトの実行を制御する方法を理解しておく必要があります。一般に、PHP の挙動は様々な構成設定によって定義されます。これらの設定により、パフォーマンス(たとえばスクリプトで使用できるメモリ量)やセキュリティ(たとえばファイルシステムとサービスへのアクセス)など、スクリプトの実行に関する様々な側面が決まります。管理者は、以下のような理由に応じて、これらの設定を調整することができます。

  • スクリプトの誤記述によるメモリリークやサーバハングアップを防ぐ
  • 悪意あるスクリプトからデータを保護する
  • 特定のウェブアプリケーションの要件に対応する
  • 自社開発のスクリプトなどをテストする
Plesk のカスタム PHP 設定

一般に、PHP 設定は、サーバ全体に対する構成ファイルに定義します。通常、Linux では /etc/php.ini、Windows では %WIN%\php.ini です。このファイルはホスティング事業者によって管理されており、サーバ上でホストされているすべてのウェブサイトの PHP 構成が定義されています。Plesk 10.4 から、顧客パネルで PHP 設定をホスティングプランまたは契約ごとに調整することが可能になっています。 さらに、許可されていれば、顧客が自分のウェブサイトとサブドメインに事前設定されている PHP 設定を個別に調整することもできます。PHP 設定の階層は以下の図のようになっています。

PHP Settings Hierarchy

特定のサービスプラン、アドオンプラン、契約のプロパティにおいて、カスタム PHP 構成を設定することができます([PHP 設定]タブ)。 上位の PHP 設定は下位の PHP 設定の事前設定値となりますが、下位の PHP 設定の方が優先されます。 たとえば、サービスプランに何らかの PHP 制限を適用してから、この制限を解除するアドオンプランを顧客に提供することができます。アドオンプランの PHP 設定は、メインのサービスプランに定義された設定よりも優先されます。
必要なパーミッションが顧客に付与されていれば、この顧客は契約内の各ウェブサイト(またはサブドメイン)に対して固有の PHP 構成を指定することができます。

PHP 設定のグループ

便宜上、Plesk のすべての PHP 設定は以下の 2 つのグループに分類されています。

  • パフォーマンス設定:
    これらの設定は、スクリプトによってシステムリソースがどのように処理されるのかを定義します。例:memory_limit パラメータを使用してスクリプト用のメモリ量を制限し、メモリリークを防ぐことができます。あるいは、max_execution_time を使用してスクリプトの最大許容実行時間を制限し、スクリプトによるサーバの拘束を防ぐことができます。
  • 共通設定:
    このグループには、他の一般的な PHP 設定が含まれます。主な設定に、セキュリティ設定(例:PHP セーフモードのオン/オフ切り替え、グローバル変数の登録パーミッション)、エラー報告設定(例:エラーログディレクティブ)などがあります。

重要:Plesk for Windows または Plesk for Linux で、PHP を Apache モジュールとして実行していなければ、顧客がパーミッションの影響を受けずいくつかの PHP 設定を上書きすることができます。顧客は、スクリプトで ini_set() 関数を使用することにより、 memory_limit および max_execution_time の値や、PHP によって設定が許可される追加ディレクティブ(PHP_INI_ALL ディレクティブ。詳しくは http://php.net/manual/en/ini.list.php を参照)のパラメータの値を変更することができます。

特定のパラメータがパフォーマンス設定または共通設定で見つからない場合は、ホスティングプロバイダに問い合わせてください。

PHP パラメータのデフォルト値

PHP 設定の各パラメータの値を設定するには、プリセットから値を選択するか、カスタム値を入力するか、あるいはデフォルト値のまま使用します。デフォルト値の場合は、サーバ全体に対する PHP 構成からパラメータ値が取得されます。 唯一の例外はアドオンプランであり、アドオンの[PHP 設定]タブで「デフォルト」に設定されている値では、メインサービスプランのパラメータ値が保持されます。

顧客に対して PHP 設定の変更を許可する

顧客に対して、ウェブサイトおよびサブドメイン単位で独自の PHP 構成を設定し、契約の PHP 設定を上書きすることを許可することができます。これを行うには、特定のサービスプランまたは契約の[パーミッション]タブで、以下のパーミッションを使用する必要があります。

  • ホスティングパフォーマンス設定の管理:
    その他の設定の管理とともに、このパーミッションは顧客に「パーミッション設定」グループの PHP 設定へのアクセス権限を付与します。
  • 共通 PHP 設定の管理:
    これを付与すると、顧客は「共通設定」グループの PHP 設定を調整できるようになります。

プラン(契約)に対してこれらのパーミッションのオン/オフを切り替えることができるのは、「ホスティング設定管理」パーミッションが付与されている場合のみです。

PHP 設定を調整するパーミッションが顧客に付与されていない場合でも、管理者はいつでもこれらのウェブサイト(サブドメイン)単位で PHP 構成を変更することができます。これには、リセラーパネルから当該ホスティングアカウントを開き、[PHP 設定]タブで当該ウェブサイト(サブドメイン)の設定に変更を適用します。