19.6. PHP スクリプト言語の使用
Hypertext Preprocessor (PHP) はサーバー側のスクリプトに主に使用する汎用スクリプト言語で、Web サーバーを使用して PHP コードを実行できるようにします。
RHEL 8 では、PHP スクリプト言語は php
モジュールにより提供されます。これは、複数のストリーム (バージョン) で利用できます。
ユースケースによっては、選択したモジュールストリームの特定のプロファイルをインストールできます。
-
common
: Web サーバーを使用したサーバー側のスクリプトのデフォルトプロファイル。これには、広範に使用される拡張機能が複数含まれています。 -
minimal
: このプロファイルは、Web サーバーを使用せずに PHP でのスクリプト用のコマンドラインインターフェイスのみをインストールします。 -
devel
: このプロファイルには、共通
プロファイルのパッケージと開発用の追加パッケージが含まれます。
19.6.1. PHP スクリプト言語のインストール
選択したバージョンの php
モジュールをインストールできます。
手順
デフォルトのプロファイルで
php
モジュールストリームをインストールするには、以下を使用します。# yum module install php:stream
stream は、インストールする PHP のバージョンに置き換えます。
たとえば、PHP 8.0 をインストールするには、以下を実行します。
# yum module install php:8.0
デフォルトの
共通
プロファイルはphp-fpm
パッケージもインストールし、Apache HTTP Server
またはnginx
で使用する PHP を事前設定します。php
モジュールストリームの特定のプロファイルをインストールするには、以下を使用します。# yum module install php:stream/profile
stream は、インストールする プロファイル の名前に置き換えます。
たとえば、Web サーバーを使用しない PHP 8.0 をインストールするには、以下を実行します。
# yum module install php:8.0/minimal
関連情報
- RHEL 8 で利用可能な以前のバージョンの PHP からアップグレードする場合は、後続のストリームへの切り替え を参照してください。
- RHEL 8 モジュールおよびストリームの詳細は、ユーザー空間コンポーネントのインストール、管理、および削除 を参照してください。
19.6.2. Web サーバーでの PHP スクリプト言語の使用
19.6.2.1. Apache HTTP Server での PHP の使用
Red Hat Enterprise Linux 8 では、Apache HTTP Server
で PHP を FastCGI プロセスサーバーとして実行できます。FastCGI Process Manager (FPM) は、Web サイトで高負荷を管理できるようにする代替の PHP FastCGI デーモンです。RHEL 8 では、PHP はデフォルトで FastCGI Process Manager を使用します。
FastCGI プロセスサーバーを使用して PHP コードを実行できます。
前提条件
PHP スクリプト言語がシステムにインストールされている。
PHP スクリプト言語のインストール を参照してください。
手順
httpd
モジュールをインストールします。# yum module install httpd:2.4
Apache HTTP Server
を起動します。# systemctl start httpd
または、
Apache HTTP Server
をシステムで実行している場合は、PHP のインストール後にhttpd
サービスを再起動します。# systemctl restart httpd
php-fpm
サービスを起動します。# systemctl start php-fpm
必要に応じて、両方のサービスが起動時に開始できるようにします。
# systemctl enable php-fpm httpd
PHP の設定に関する情報を取得するには、以下の内容を含む
index.php
ファイルを/var/www/html/
ディレクトリーに作成します。# echo '<?php phpinfo(); ?>' > /var/www/html/index.php
index.php
ファイルを実行するには、ブラウザーで以下を指定します。http://<hostname>/
オプション: 特定の要件がある場合は、設定を調整します。
-
/etc/httpd/conf/httpd.conf
- 一般的なhttpd
設定 -
/etc/httpd/conf.d/php.conf
-httpd
の PHP 固有の設定 -
/usr/lib/systemd/system/httpd.service.d/php-fpm.conf
- デフォルトでは、php-fpm
サービスはhttpd
と一緒に起動します。 -
/etc/php-fpm.conf
- FPM の主な設定 -
/etc/php-fpm.d/www.conf
- デフォルトのwww
プール設定
-
例19.1 "Hello, World!" の実行Apache HTTP Server を使用した PHP スクリプト
/var/www/html/
ディレクトリーにプロジェクト用のhello
ディレクトリーを作成します。# mkdir hello
以下の内容を含む
/var/www/html/hello/
ディレクトリーにhello.php
ファイルを作成します。# <!DOCTYPE html> <html> <head> <title>Hello, World! Page</title> </head> <body> <?php echo 'Hello, World!'; ?> </body> </html>
Apache HTTP Server
を起動します。# systemctl start httpd
hello.php
ファイルを実行するには、ブラウザーに以下を指定します。http://<hostname>/hello/hello.php
結果として、"Hello, World!" というテキストを含む Web ページが表示されます。
19.6.2.2. nginx Web サーバーでの PHP の使用
nginx
Web サーバーを介して PHP コードを実行できます。
前提条件
PHP スクリプト言語がシステムにインストールされている。
PHP スクリプト言語のインストール を参照してください。
手順
nginx
モジュールストリームをインストールします。# yum module install nginx:stream
stream は、インストールする
nginx
のバージョンに置き換えます。たとえば、
nginx
バージョン 1.18 をインストールするには、以下を実行します。# yum module install nginx:1.18
nginx
サーバーを起動します。# systemctl start nginx
または、使用中のシステムで
nginx
サーバーを実行している場合は、PHP のインストール後にnginx
サービスを再起動します。# systemctl restart nginx
php-fpm
サービスを起動します。# systemctl start php-fpm
必要に応じて、両方のサービスが起動時に開始できるようにします。
# systemctl enable php-fpm nginx
PHP の設定に関する情報を取得するには、以下の内容を含む
index.php
ファイルを/usr/share/nginx/html/
ディレクトリーに作成します。# echo '<?php phpinfo(); ?>' > /usr/share/nginx/html/index.php
index.php
ファイルを実行するには、ブラウザーで以下を指定します。http://<hostname>/
オプション: 特定の要件がある場合は、設定を調整します。
-
/etc/nginx/nginx.conf
-nginx
main configuration -
/etc/nginx/conf.d/php-fpm.conf
-nginx
の FPM 設定 -
/etc/php-fpm.conf
- FPM の主な設定 -
/etc/php-fpm.d/www.conf
- デフォルトのwww
プール設定
-
例19.2 "Hello, World!" の実行nginx サーバーを使用した PHP スクリプト
プロジェクトの
hello
ディレクトリーを/usr/share/nginx/html/
ディレクトリーに作成します。# mkdir hello
以下の内容で
/usr/share/nginx/html/hello/
ディレクトリーにhello.php
ファイルを作成します。# <!DOCTYPE html> <html> <head> <title>Hello, World! Page</title> </head> <body> <?php echo 'Hello, World!'; ?> </body> </html>
nginx
サーバーを起動します。# systemctl start nginx
hello.php
ファイルを実行するには、ブラウザーに以下を指定します。http://<hostname>/hello/hello.php
結果として、"Hello, World!" というテキストを含む Web ページが表示されます。
関連情報
19.6.3. コマンドラインインターフェイスを使用した PHP スクリプトの実行
通常、PHP スクリプトは Web サーバーを使用して実行されますが、コマンドラインインターフェイスを使用して実行することも可能です。
コマンドラインのみを使用して php
スクリプトを実行する場合は、php
モジュールストリームの 最低限
のプロファイルをインストールします。
PHP スクリプト言語のインストール を参照してください。
前提条件
PHP スクリプト言語がシステムにインストールされている。
PHP スクリプト言語のインストール を参照してください。
手順
テキストエディターで
filename.php
ファイルを作成します。filename は、使用するファイル名に置き換えます。
コマンドラインから、作成した
filename.php
ファイルを実行します。# php filename.php
例19.3 "Hello, World!" の実行コマンドラインインターフェイスを使用した PHP スクリプト
テキストエディターを使用して、以下の内容で
hello.php
ファイルを作成します。<?php echo 'Hello, World!'; ?>
コマンドラインで
hello.php
ファイルを実行します。# php hello.php
結果として、"Hello, World!" が出力されます。
19.6.4. 関連情報
-
httpd(8)
-httpd
サービスの man ページ。コマンドラインオプションの全リストが記載されています。 -
httpd.conf (5)
-httpd
設定の man ページ。httpd
設定ファイルの構造と場所が説明されています。 -
nginx(8)
-nginx
Web サーバーの man ページ。コマンドラインオプションの全リストとシグナルのリストが記載されています。 -
php-fpm(8)
- PHP FPM の man ページ。コマンドラインオプションおよび設定ファイルの全リストが記載されています。