18.6. PHP スクリプト言語の使用


Hypertext Preprocessor (PHP) はサーバー側のスクリプトに主に使用する汎用スクリプト言語で、Web サーバーを使用して PHP コードを実行できるようにします。

RHEL 8 では、PHP スクリプト言語は php モジュールにより提供されます。これは、複数のストリーム (バージョン) で利用できます。

ユースケースによっては、選択したモジュールストリームの特定のプロファイルをインストールできます。

  • common: Web サーバーを使用したサーバー側のスクリプトのデフォルトプロファイル。これには、広範に使用される拡張機能が複数含まれています。
  • minimal: このプロファイルは、Web サーバーを使用せずに PHP でのスクリプト用のコマンドラインインターフェイスのみをインストールします。
  • devel: このプロファイルには、共通 プロファイルのパッケージと開発用の追加パッケージが含まれます。

18.6.1. PHP スクリプト言語のインストール

選択したバージョンの php モジュールをインストールできます。

手順

  • デフォルトのプロファイルで php モジュールストリームをインストールするには、以下を使用します。

    Copy to Clipboard Toggle word wrap
    # yum module install php:stream

    stream は、インストールする PHP のバージョンに置き換えます。

    たとえば、PHP 8.0 をインストールするには、以下を実行します。

    Copy to Clipboard Toggle word wrap
    # yum module install php:8.0

    デフォルトの 共通 プロファイルは php-fpm パッケージもインストールし、Apache HTTP Server または nginx で使用する PHP を事前設定します。

  • php モジュールストリームの特定のプロファイルをインストールするには、以下を使用します。

    Copy to Clipboard Toggle word wrap
    # yum module install php:stream/profile

    stream は、インストールする プロファイル の名前に置き換えます。

    たとえば、Web サーバーを使用しない PHP 8.0 をインストールするには、以下を実行します。

    Copy to Clipboard Toggle word wrap
    # yum module install php:8.0/minimal

関連情報

18.6.2. Web サーバーでの PHP スクリプト言語の使用

18.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 コードを実行できます。

前提条件

手順

  1. httpd モジュールをインストールします。

    Copy to Clipboard Toggle word wrap
    # yum module install httpd:2.4
  2. Apache HTTP Server を起動します。

    Copy to Clipboard Toggle word wrap
    # systemctl start httpd

    または、Apache HTTP Server をシステムで実行している場合は、PHP のインストール後に httpd サービスを再起動します。

    Copy to Clipboard Toggle word wrap
    # systemctl restart httpd
  3. php-fpm サービスを起動します。

    Copy to Clipboard Toggle word wrap
    # systemctl start php-fpm
  4. 必要に応じて、両方のサービスが起動時に開始できるようにします。

    Copy to Clipboard Toggle word wrap
    # systemctl enable php-fpm httpd
  5. PHP の設定に関する情報を取得するには、以下の内容を含む index.php ファイルを /var/www/html/ ディレクトリーに作成します。

    Copy to Clipboard Toggle word wrap
    # echo '<?php phpinfo(); ?>' > /var/www/html/index.php
  6. index.php ファイルを実行するには、ブラウザーで以下を指定します。

    Copy to Clipboard Toggle word wrap
    http://<hostname>/
  7. オプション: 特定の要件がある場合は、設定を調整します。

    • /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 プール設定

例18.1 "Hello, World!" の実行Apache HTTP Server を使用した PHP スクリプト

  1. /var/www/html/ ディレクトリーにプロジェクト用の hello ディレクトリーを作成します。

    Copy to Clipboard Toggle word wrap
    # mkdir hello
  2. 以下の内容を含む /var/www/html/hello/ ディレクトリーに hello.php ファイルを作成します。

    Copy to Clipboard Toggle word wrap
    # <!DOCTYPE html>
    <html>
    <head>
    <title>Hello, World! Page</title>
    </head>
    <body>
    <?php
        echo 'Hello, World!';
    ?>
    </body>
    </html>
  3. Apache HTTP Server を起動します。

    Copy to Clipboard Toggle word wrap
    # systemctl start httpd
  4. hello.php ファイルを実行するには、ブラウザーに以下を指定します。

    Copy to Clipboard Toggle word wrap
    http://<hostname>/hello/hello.php

    結果として、"Hello, World!" というテキストを含む Web ページが表示されます。

18.6.2.2. nginx Web サーバーでの PHP の使用

nginx Web サーバーを介して PHP コードを実行できます。

前提条件

手順

  1. nginx モジュールストリームをインストールします。

    Copy to Clipboard Toggle word wrap
    # yum module install nginx:stream

    stream は、インストールする nginx のバージョンに置き換えます。

    たとえば、nginx バージョン 1.18 をインストールするには、以下を実行します。

    Copy to Clipboard Toggle word wrap
    # yum module install nginx:1.18
  2. nginx サーバーを起動します。

    Copy to Clipboard Toggle word wrap
    # systemctl start nginx

    または、使用中のシステムで nginx サーバーを実行している場合は、PHP のインストール後に nginx サービスを再起動します。

    Copy to Clipboard Toggle word wrap
    # systemctl restart nginx
  3. php-fpm サービスを起動します。

    Copy to Clipboard Toggle word wrap
    # systemctl start php-fpm
  4. 必要に応じて、両方のサービスが起動時に開始できるようにします。

    Copy to Clipboard Toggle word wrap
    # systemctl enable php-fpm nginx
  5. PHP の設定に関する情報を取得するには、以下の内容を含む index.php ファイルを /usr/share/nginx/html/ ディレクトリーに作成します。

    Copy to Clipboard Toggle word wrap
    # echo '<?php phpinfo(); ?>' > /usr/share/nginx/html/index.php
  6. index.php ファイルを実行するには、ブラウザーで以下を指定します。

    Copy to Clipboard Toggle word wrap
    http://<hostname>/
  7. オプション: 特定の要件がある場合は、設定を調整します。

    • /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 プール設定

例18.2 "Hello, World!" の実行nginx サーバーを使用した PHP スクリプト

  1. プロジェクトの hello ディレクトリーを /usr/share/nginx/html/ ディレクトリーに作成します。

    Copy to Clipboard Toggle word wrap
    # mkdir hello
  2. 以下の内容で /usr/share/nginx/html/hello/ ディレクトリーに hello.php ファイルを作成します。

    Copy to Clipboard Toggle word wrap
    # <!DOCTYPE html>
    <html>
    <head>
    <title>Hello, World! Page</title>
    </head>
    <body>
    <?php
        echo 'Hello, World!';
    ?>
    </body>
    </html>
  3. nginx サーバーを起動します。

    Copy to Clipboard Toggle word wrap
    # systemctl start nginx
  4. hello.php ファイルを実行するには、ブラウザーに以下を指定します。

    Copy to Clipboard Toggle word wrap
    http://<hostname>/hello/hello.php

    結果として、"Hello, World!" というテキストを含む Web ページが表示されます。

18.6.3. コマンドラインを使用した PHP スクリプトの実行

PHP スクリプトは通常、Web サーバーを使用して実行されますが、コマンドラインを使用して実行することもできます。

コマンドラインのみを使用して php スクリプトを実行する場合は、php モジュールストリームの 最低限 のプロファイルをインストールします。

PHP スクリプト言語のインストール を参照してください。

前提条件

手順

  1. テキストエディターで filename.php ファイルを作成します。

    filename は、使用するファイル名に置き換えます。

  2. コマンドラインから、作成した filename.php ファイルを実行します。

    Copy to Clipboard Toggle word wrap
    # php filename.php

例18.3 "Hello, World!" の実行コマンドラインを使用した PHP スクリプト

  1. テキストエディターを使用して、以下の内容で hello.php ファイルを作成します。

    Copy to Clipboard Toggle word wrap
    <?php
        echo 'Hello, World!';
    ?>
  2. コマンドラインで hello.php ファイルを実行します。

    Copy to Clipboard Toggle word wrap
    # php hello.php

    結果として、"Hello, World!" が出力されます。

18.6.4. 関連情報

  • httpd(8) - httpd サービスの man ページ。コマンドラインオプションの全リストが記載されています。
  • httpd.conf(5)httpd 設定の man ページ。httpd 設定ファイルの構造と場所が説明されています。
  • nginx(8) - nginx Web サーバーの man ページ。コマンドラインオプションの全リストとシグナルのリストが記載されています。
  • php-fpm(8) - PHP FPM の man ページ。コマンドラインオプションおよび設定ファイルの全リストが記載されています。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.