Helix Swarm管理者ガイド (2020.1)

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のデフォルト)を使用するシステムに対応しています。

      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.2およびSSL 1.1.1を実行する64ビットのLinuxシステムの場合:

    extension=/path/to/swarm/p4-bin/bin.linux26x86_64/perforce-php72-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. CentOS/RHEL 6の場合の推奨事項: /etc/php.iniファイルの[Pcre]セクションに記述されている以下のパラメータの値を次のように変更してください。 この変更により、非常に長いコメントも表示できるようになります。

    • pcre.backtrack_limit = 1000000
    • pcre.recursion_limit = 10000
  9. また、PHP用のオプション拡張機能であるImageMagickをインストールすると、Swarmの機能を大幅に拡張することができます。通常のWebブラウザでは表示できないグラフィック形式のプレビューをSwarmで表示できるようになります。詳細については、「PHP用のImageMagick (imagick)拡張機能」を参照してください。
  10. 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 ファイルを削除することをお勧めします。