PHP構成
PHPの構成は、OSディストリビューションによって異なる場合があります。詳細については、PHPのインストール環境に対応するドキュメントを参照してください。
-
最初に、PHP Apacheモジュールで使用されているPHPの
.ini
ファイルを特定します。注意このファイルは、コマンドラインからPHPを呼び出す際に使用される
.ini
ファイルと必ずしも同じファイルではありません。コマンドラインでphp --ini
を実行すると、該当するファイルを確認することができます。PHP Apacheモジュールで使用されている
.ini
ファイルを特定できない場合は、Apache経由で使用できるPHPファイルを作成して以下の行を追加します。<?php phpinfo();?>
使用しているブラウザでこのファイルを参照し、結果のテーブル内で以下のテーブル行を検索します。
Loaded Configuration File
-
現在のシステムに対して
date.timezone
が正しく設定されていることを確認します。一部のディストリビューションでは、デフォルトのタイムゾーンをPHPで使用できないため、PHP用のタイムゾーンを明示的に設定することをお勧めします。サポートされているタイムゾーンの一覧を参照してください。
php.ini
ファイル内で設定されているdate.timezone
の例を以下に示します。date.timezone = America/Vancouver
-
iconv、json、セッションの拡張機能がインストールされていることを確認します。
通常、これらの拡張機能はデフォルトで有効になっていますが、OSディストリビューション経由でこれらの拡張機能用のパッケージをインストールしなければならない場合があります。上記の
phpinfo
出力内でそれぞれの拡張機能名を検索して、必要な拡張機能がインストールされていることを確認してください。 -
PHP用Perforce拡張機能であるP4PHPを有効にします。
SwarmとHelix 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以降が必要です。
- 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が使用されます)。
- Swarm Webページが読み込まれず、Connection Resetエラーが表示される。
- Apacheのエラーログに、「undefined symbol:SSLeay」というメッセージが記録される場合がある。
Swarmのパッケージ、OVA、tarballを使用したインストール:SwarmがサポートするPHP 7の各バージョン用として、2つのバージョンのP4PHPが用意されています。これらはp4-bin/bin.linux26x86_64ディレクトリにあります。
「x」は、PHP 7のバージョンです。
perforce.iniファイルがP4PHPの正しいバージョンを指しておらず、SSLが有効になったHelixサーバに接続している場合、以下のような動作になります。
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
- Apacheを再起動して、変更内容を有効にします。
- P4PHPが有効であることを検証するには、前述の手順で作成した
phpinfo
ファイルに移動します。「Perforce Module」というセクションを検索します。このセクションに、モジュールが有効になっていることを示す情報と、バージョン情報が記載されています。 - また、以下に示すオプションの拡張機能を使用すると、Swarmの機能が大幅に拡張されます。PHP用のImageMagick拡張機能をインストールしてSwarmの機能を拡張すると、通常のWebブラウザでは表示できないグラフィック形式のプレビューを表示できるようになります。詳しくは、「PHP用のImageMagick (imagick)拡張機能」を参照してください。
- Swarmの構成を行います。詳しくは、「Swarmの構成」を参照してください。
Swarmをホストしているマシン上でオペレーティングシステムをアップグレードすると、PHPのアップデートが必要になる場合があることに注意してください。その場合は、P4PHPの正しいvariant
を参照するようにPHPの.iniファイルを更新し、アップグレード後のオペレーティングシステムで使用されるPHPのバージョンと一致させる必要があります。
PHP用のImageMagick (imagick)拡張機能
Imagickは、ImageMagickのグラフィックライブラリのAPIを統合して画像の作成と操作を行うためのPHP拡張機能です。Imagickを有効にすると、通常のWebブラウザでは表示できないグラフィック形式をプレビュー表示する場合のSwarmのパフォーマンスが向上します。
詳細については、次のサイトを参照してください。
-
apt-get
やyum
などのコマンドを使用して、OSディストリビューションからImagickをインストールすることをお勧めします。PHP用のImagickパッケージがディストリビューションに付属していない場合は、以下のPECLコマンドを使用してImagickをインストールしてください(ただし、システムの依存関係を解決しなければならない場合があります)。sudo pecl install imagick
-
PHP ApacheモジュールのPHPの
.ini
ファイルで、Imagickが有効になっていることを確認します(前の手順で説明したP4PHPの場合と同じ方法で確認します)。その際、以下の行を追加しなければならない場合があります。extension=imagick.so
- Apacheを再起動して、変更内容を有効にします。
-
imagickが有効になっているかどうかを確認するには、前の手順で作成した
phpinfo
ファイルに移動して、「imagick」というセクションを検索します。このセクションに、Imagickのバージョン情報、Imagickのディレクティブ用のテーブル、サポートされる画像ファイル形式などが記載されています。警告P4PHPとImagickをインストールして有効にしたら、インストール環境に関する情報が外部に漏れないように、
phpinfo
ファイルを削除することをお勧めします。