PHP/ja

PHPは、動的なWebページを生成する汎用のサーバー側スクリプト言語です.

USE フラグ
PHP パッケージで最重要の USE フラグである、SAPI (サーバ API) USE フラグは、、、そして です. これらのフラグと並んで、PHP インタプリタの様々な機能を有効化するための、複雑なフラグのリストがあります:

この ebuild は、"production" バージョンの に対し、より厳密なセキュリティ設定と、Gentoo システム用にデフォルトパスを調整する修正を施したものをインストールします. 上流の "production" と "development" の ファイルは、 にインストールされます.

拡張
拡張モジュールをインストールするには、まずどのバージョンの PHP に対して拡張モジュールをコンパイルするかを決定してください. これは、 PHP_TARGETS 変数を設定することで行えます:

複数のバージョンを定義することができます; スペースで区切って、追加のバージョンを追加してください. php スロットの名前が "5.6" のとき、対応する PHP_TARGETS の値は  であることに注意してください. これは現行の USE 名の制限によるものです.

Emerge
上記のUSEフラグ設定を行った後、変更を有効にするためにシステムを更新する必要があります:

複数のバージョンの PHP を実行する
PHP 開発のために Gentoo を使用する大きな利点のひとつは、バージョンスロットです. 複数のバージョンの PHP の間で切り換えたり、複数のバージョンを同時に実行するのは、とても簡単に行えます. これはすべて パッケージが提供する  コマンドによって行われ、これは PHP をインストールすると自動的に emerge されるはずです.

例えば、異なるバージョンの PHP を選択することで、cli SAPI では PHP 7.0 を実行しながら、システムの web サーバとしては PHP 5.6 を実行する、ということが可能になります. また、システム管理者またはアプリケーション開発者は、アプリケーションをすぐに異なるバージョンの PHP でテストすることが可能になります.

cli SAPI モジュールのために利用可能なバージョンの一覧を表示するには、次の構文を使用してください:

(アスタリスク) は、選択されたモジュールのために現在アクティブなバージョンを示しています. 他の SAPI を確認するには、単に  の部分を   や   や   モジュールで置き換えてください.

バージョンを切り替えるには、以下を利用して下さい:

この例での数値  は、上で使用した   サブコマンドの出力にある数値に対応しています. これで、コマンドラインのためには PHP バージョン 7.0 が使用されるようになりました:

設定
PHP の構成は に置かれます. サーバ API (SAPI) ごとにそれぞれ、そして PHP のバージョンごとにそれぞれ 1 つのサブディレクトリを含みます. 例えば、PHP-5.6 apache2 SAPI のための構成ファイルは にインストールされます.

ウェブサーバ
PHPをサーバ側で使用するには、WebサーバをインストールしてPHPを使用するように設定する必要があります. 数多くの一般的なWebサーバーが次に簡単に触れられます.

Nginx
nginx をインストールするには、単に emerge してください:

Nginx がインストールされたら、 の server セクションを以下のように変更してください:

それでは、ウェブサイトを機能させるために関連するサービスを開始してください. init スクリプトは PHP FastCGI Process Manager を開始します. FastCGI を使用すると、ウェブサーバは PHP の計算をこのプロセスマネージャに任せて、負荷を軽減することができます.

サービスマネージャとして OpenRC を実行している場合は:

systemd では:

lighttpd
lighttpd が  をサポートするようにビルドされていること、および   USE フラグが無効になっていることを確認してください.

Lighttpd にはデフォルトの FastCGI 構成ファイルが付属していますが、残念ながら、一般的な FCGI セットアップではなく、古い PHP FCGI SAPI でのみ動作するように記述されています. USE フラグが無効になっているため、含まれません. ただし、FPM で使用できる構成ファイルの優れた基盤を提供します.

を次のように編集してください:

と  の部分に注意してください.

Since Gentoo ships with a working file, located in, and init script, starting the services is all that is needed:

Apache (mod_php)
Apache に PHP5 モジュール (mod_php) を読み込ませるように設定するには、 内で APACHE2_OPTS 変数に  を追加してください. 以前は、( のように) PHP のバージョンも追加する必要があったのを覚えている人もいるでしょう. しかしながら、 バージョン 0.8.1 から、将来のメジャーバージョンを簡単に統合できるようにするために、変数はただの  に変更されました.

PHP が  USE フラグとともにビルドされていることを確認してください.

If for some reason the system is missing the PHP module integration file, currently provided by when installed with   USE flag set, manually insert it. Its current content is displayed below.

Although multiple PHP versions can be installed on a system, Apache can only use a single PHP version with mod_php. Support for multiple PHP versions on Apache is available using fpm. The command is used to switch between active mod PHP versions.

To change the version of PHP handled by Apache, first list the available versions for the  Server Application Programming Interface (SAPI):

Change it to the version of choice:

Substitute  in the example above to the requested number in the output of  as displayed earlier on.

To verify the PHP module works, create a test page:

Now, suppress or rename and open the test page:

A table describing the PHP settings should be visible.

Apache (fcgid)
See enabling PHP through fcgid in the Apache article.

Apache (mod_proxy_fcgi)
See enabling PHP-FPM through mod_proxy_fcgi in Apache 2.4.

関連項目

 * 、古いインストールから 5.6 へのアップグレードガイド
 * 、古いインストールから 7.1 へのアップグレードガイド
 * Apache 記事内での

External resources

 * Running Multiple Versions of PHP Using Apache on Gentoo