PHP構成

PHPの構成は、OSディストリビューションによって異なる場合があります。詳細については、PHPのインストール環境に対応するドキュメントを参照してください。

  1. 最初に、PHP Apacheモジュールで使用されているPHPの.iniファイルを特定します。

    注意

    このファイルは、コマンドラインからPHPを呼び出す際に使用される.ini ファイルと必ずしも同じファイルではありません。コマンドラインでphp --iniを実行すると、該当するファイルを確認することができます。

    PHP Apacheモジュールで使用されている.ini ファイルを特定できない場合は、Apache経由で使用できるPHPファイルを作成して以下の行を追加します。

    <?php phpinfo();?>

    使用しているブラウザでこのファイルを参照し、結果のテーブル内で以下のテーブル行を検索します。

    Loaded Configuration File

  2. 現在のシステムに対してdate.timezone が正しく設定されていることを確認します。

    一部のディストリビューションでは、デフォルトのタイムゾーンをPHPで使用できないため、PHP用のタイムゾーンを明示的に設定することをお勧めします。サポートされているタイムゾーンの一覧を参照してください。

    php.iniファイル内で設定されているdate.timezone の例を以下に示します。

    date.timezone = America/Vancouver

  3. iconv、json、セッションの拡張機能がインストールされていることを確認します。

    通常、これらの拡張機能はデフォルトで有効になっていますが、OSディストリビューション経由でこれらの拡張機能用のパッケージをインストールしなければならない場合があります。上記のphpinfo 出力内でそれぞれの拡張機能名を検索して、必要な拡張機能がインストールされていることを確認してください。

  4. PHP用Perforce拡張機能であるP4PHPを有効にします。

    SwarmHelix Coreサーバとの間で通信を行うには、P4PHPの拡張機能が必要になります。SwarmサポートされるPHP 7の各バージョンに対して、P4PHPのバリアントが用意されています。各バリアントは、openssl 1.02として使用することも、openssl 1.1.1として使用することもできます。P4PHPのすべてのバリアントは、Swarmパッケージ、OVA、およびtarballのインストールに含まれます。

    注意
    • Linuxの場合、デフォルトのバリアントはglibc 2.11を使用してコンパイルされています。
    • Swarm 2019.1以降には、P4PHP 2019.1以降が必要です。
    • Swarmのパッケージ、OVA、tarballを使用したインストール:SwarmがサポートするPHP 7の各バージョン用として、2つのバージョンのP4PHPが用意されています。これらはp4-bin/bin.linux26x86_64ディレクトリにあります。

      • perforce-php7x.soはSSL 1.0.2を使用するシステムに対応しています。
      • perforce-php7x-ssl1.1.1.soは、SSL 1.1.1を使用するシステムに対応しています(デフォルト設定の場合、Ubuntu 18.04とUbuntu 20.04ではSSL 1.1.1が使用されます)。

      x」は、PHP 7のバージョンです。

      perforce.iniファイルがP4PHPの正しいバージョンを指しておらず、SSLが有効になったHelixサーバに接続している場合、以下のような動作になります。

      • Swarm Webページが読み込まれず、Connection Resetエラーが表示される。
      • Apacheのエラーログに、「undefined symbol:SSLeay」というメッセージが記録される場合がある。

    P4PHPを有効にするには、Webサーバのphp.ini ファイルを編集して、以下の行を追加します。

    extension=/path/to/swarm/p4-bin/bin.<platform>/perforce-<variant>.so

    例1: PHP 7.0およびSSL 1.0.2を実行する64ビットのLinuxシステムの場合:

    extension=/path/to/swarm/p4-bin/bin.linux26x86_64/perforce-php70.so

    例2: PHP 7.1およびSSL 1.0.2を実行する64ビットのLinuxシステムの場合:

    extension=/path/to/swarm/p4-bin/bin.linux26x86_64/perforce-php71.so

    例3: PHP 7.2およびSSL 1.0.2を実行する64ビットのLinuxシステムの場合:

    extension=/path/to/swarm/p4-bin/bin.linux26x86_64/perforce-php72.so

    例4: PHP 7.4およびSSL 1.1.1を実行する64ビットのLinuxシステムの場合:

    extension=/path/to/swarm/p4-bin/bin.linux26x86_64/perforce-php74-ssl1.1.1.so

    または、拡張ファイルをPHP拡張機能のデフォルトの場所にコピーして、そのファイルに以下の行を追加します。

    extension=perforce-<variant>.so

  5. Apacheを再起動して、変更内容を有効にします。
  6. P4PHPが有効であることを検証するには、前述の手順で作成したphpinfo ファイルに移動します。「Perforce Module」というセクションを検索します。このセクションに、モジュールが有効になっていることを示す情報と、バージョン情報が記載されています。
  7. 注意

    Swarmをホストしているマシン上でオペレーティングシステムをアップグレードすると、PHPのアップデートが必要になる場合があることに注意してください。その場合は、P4PHPの正しいvariant を参照するようにPHPの.iniファイルを更新し、アップグレード後のオペレーティングシステムで使用されるPHPのバージョンと一致させる必要があります。

  8. また、以下に示すオプションの拡張機能を使用すると、Swarmの機能が大幅に拡張されます。PHP用のImageMagick拡張機能をインストールしてSwarmの機能を拡張すると、通常のWebブラウザでは表示できないグラフィック形式のプレビューを表示できるようになります。詳しくは、「PHP用のImageMagick (imagick)拡張機能」を参照してください。
  9. Swarmの構成を行います。詳しくは、「Swarmの構成」を参照してください。

PHP用のImageMagick (imagick)拡張機能

Imagickは、ImageMagickのグラフィックライブラリのAPIを統合して画像の作成と操作を行うためのPHP拡張機能です。Imagickを有効にすると、通常のWebブラウザでは表示できないグラフィック形式をプレビュー表示する場合のSwarmのパフォーマンスが向上します。

詳細については、次のサイトを参照してください。

  1. apt-getyumなどのコマンドを使用して、OSディストリビューションからImagickをインストールすることをお勧めします。PHP用のImagickパッケージがディストリビューションに付属していない場合は、以下のPECLコマンドを使用してImagickをインストールしてください(ただし、システムの依存関係を解決しなければならない場合があります)。

    sudo pecl install imagick

  2. PHP ApacheモジュールのPHPの.ini ファイルで、Imagickが有効になっていることを確認します(前の手順で説明したP4PHPの場合と同じ方法で確認します)。その際、以下の行を追加しなければならない場合があります。

    extension=imagick.so

  3. Apacheを再起動して、変更内容を有効にします。
  4. imagickが有効になっているかどうかを確認するには、前の手順で作成したphpinfo ファイルに移動して、「imagick」というセクションを検索します。このセクションに、Imagickのバージョン情報、Imagickのディレクティブ用のテーブル、サポートされる画像ファイル形式などが記載されています。

    警告

    P4PHPとImagickをインストールして有効にしたら、インストール環境に関する情報が外部に漏れないように、phpinfo ファイルを削除することをお勧めします。