目次
mod_phpまたはphp-fpmを使用してPHPで動作するようにApacheを構成する
PHP-FPMとPHP-FPMの利点と短所
PHPをApacheと統合するときの一般的なエラーのトラブルシューティング
ApacheにPHPサポートをインストールおよび有効にします
ホームページ 運用・保守 Apache MOD_PHPまたはPHP-FPMを使用してPHPで動作するようにApacheを構成するにはどうすればよいですか?

MOD_PHPまたはPHP-FPMを使用してPHPで動作するようにApacheを構成するにはどうすればよいですか?

Mar 12, 2025 pm 06:44 PM

mod_phpまたはphp-fpmを使用してPHPで動作するようにApacheを構成する

ApacheをPHPで動作するように構成するには、 mod_phpとPHP-FPM(FastCGI Process Manager)の2つの主要な方法から選択することが含まれます。 mod_php PHPをモジュールとしてApacheに直接統合し、PHP-FPMはFastCGIインターフェイスを介してApacheと通信する別のプロセスマネージャーとして実行されます。

MOD_PHPの使用:これはよりシンプルなアプローチであり、設定が少なくなる必要があります。 PHPをインストールした後、Apacheモジュールmod_phpが有効になっていることを確認してください。これには、通常、インストール後にApacheを再起動するか、システムのパッケージマネージャーを使用してモジュールを明示的に有効にすることが含まれます(たとえば、 7.4がPHPバージョンを表すDebian/Ubuntuシステムのa2enmod php7.4 )。 Apacheは、 .php拡張機能を備えたファイルのPHP処理を自動的に処理します。通常、それ以上の構成は必要ありませんが、特定の設定に対してphp.iniファイルを調整する必要がある場合があります。

PHP-FPMの使用:この方法は、特に重い負荷の下で、より良いパフォーマンスとリソース管理を提供します。まず、PHP-FPMをインストールします。次に、FastCGIクライアントとして機能するようにApacheを構成する必要があります。これには、Apache構成ファイル内に構成ブロックを追加することが含まれます(通常、システムに応じて/etc/apache2/sites-available/000-default.confにあります)。このブロックには、通常、PHPファイルの場所を指定し、 proxy_passディレクティブを使用してPHP-FPMソケットにリクエストを転送する<location></location>または<directory></directory>ディレクティブが含まれます。典型的な構成は次のようになるかもしれません:

 <code class="apache"><directory> Options Indexes FollowSymLinks AllowOverride All Require all granted <filesmatch> SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost" </filesmatch> </directory></code>
ログイン後にコピー

/run/php/php7.4-fpm.sock PHP-FPMソケットへの実際のパスで置き換え、 Directoryディレクティブを調整してWebルートを指すようにしてください。 Apacheを構成した後、変更が有効になるように再起動します。 PHP-FPMはすでに実行中です。そうでない場合は、システムのinitシステムを使用して起動します(たとえば、 systemctl start php7.4-fpm )。

PHP-FPMとPHP-FPMの利点と短所

mod_php:

利点:

  • シンプルさ:セットアップと構成が簡単です。
  • オーバーヘッドの減少:プロセス間の通信オーバーヘッドはありません。

短所:

  • パフォーマンス: PHPの実行を直接処理するため、重い負荷の下で遅くなる可能性があります。
  • リソースの使用:各ApacheプロセスはPHPリソースを消費し、メモリ消費量の増加につながります。
  • 安定性が低い:単一のPHPスクリプトのクラッシュは、Apacheプロセス全体に潜在的に影響する可能性があります。

php-fpm:

利点:

  • パフォーマンス:重い負荷の下では大幅に高速で効率的です。
  • リソース管理:プロセスプーリングを通じて、より良いリソース利用と管理。
  • 安定性:単一のPHPスクリプトでのクラッシュは、Webサーバー全体に影響しません。
  • スケーラビリティ: PHP-FPMワーカーを追加することで、水平方向に簡単にスケーリングできます。

短所:

  • 複雑さ:より多くの構成とセットアップが必要です。
  • オーバーヘッド:プロセス間の通信オーバーヘッドを導入します(ただし、パフォーマンスの向上と比較して最小限です)。

PHPをApacheと統合するときの一般的なエラーのトラブルシューティング

トラブルシューティングの問題は、 mod_php使用しているのかphp-fpmを使用しているかによって異なります。

mod_php:

  • 「内部サーバーエラー」:特定のエラーメッセージについては、Apacheエラーログ( error.log )を確認します。一般的な原因には、PHPコードの構文エラー、PHP拡張機能の欠落、または許可の問題が含まれます。
  • 空白ページ: PHPが正しくインストールされ、 mod_phpモジュールが有効になっていることを確認してください。 PHPファイルのファイル許可を確認します。
  • 出力が正しくありません:エラーについては、PHPコードを確認してください。構成の問題については、 php.iniファイルを調べます。

php-fpm:

  • 「502 Bad Gateway」:これは、ApacheがPHP-FPMに接続できなかったことを示しています。 php-fpmが実行されているかどうかを確認してください。 Apache構成のソケットパスを確認します。ユーザーApacheがソケットにアクセスするための適切なアクセス許可を持っていることを確認してください。
  • 「内部サーバーエラー」: PHP-FPMエラーログ(通常は/var/log/php-fpm/error.logにあるか、同様のパスにあります)を確認します。このログは、より詳細なエラーメッセージを提供します。
  • 応答時間の遅い時間: PHP-FPMプール設定(ワーカープロセスの数など)を調整して、ワークロードのパフォーマンスを最適化します。

ApacheにPHPサポートをインストールおよび有効にします

インストールと有効化プロセスは、オペレーティングシステムとパッケージマネージャーによって異なります。

mod_phpを使用:

  1. PHPをインストール:システムのパッケージマネージャーを使用します(例: apt-get install php7.4 libapache2-mod-php7.4にDebian/Ubuntu)。
  2. モジュールを有効にする:システムのパッケージマネージャーを使用して、 mod_phpモジュールを有効にします(たとえば、 a2enmod php7.4 )。
  3. Apacheを再起動します:変更を有効にするためにApacheを再起動します(例、 systemctl restart apache2 )。

PHP-FPMの使用:

  1. PHPとPHP-FPMのインストール:システムのパッケージマネージャーを使用してください(たとえば、 apt-get install php7.4 php7.4-fpm )。
  2. Apacheの構成:最初のセクションで説明されているように、必要な<location></location>または<directory></directory>ブロックをApache構成ファイルに追加します。
  3. PHP-FPMを開始: PHP-FPMサービスを開始します(例: systemctl start php7.4-fpm )。
  4. Apacheを再起動:変更が有効になるためにApacheを再起動します。

7.4実際のPHPバージョンに置き換えることを忘れないでください。最も正確で最新の指示については、常に配布のドキュメントを参照してください。

以上がMOD_PHPまたはPHP-FPMを使用してPHPで動作するようにApacheを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ApacheでCGIディレクトリを設定する方法 ApacheでCGIディレクトリを設定する方法 Apr 13, 2025 pm 01:18 PM

ApacheでCGIディレクトリを設定するには、次の手順を実行する必要があります。「CGI-Bin」などのCGIディレクトリを作成し、Apacheの書き込み許可を付与します。 Apache構成ファイルに「Scriptalias」ディレクティブブロックを追加して、CGIディレクトリを「/cgi-bin」URLにマッピングします。 Apacheを再起動します。

Apacheのデータベースに接続する方法 Apacheのデータベースに接続する方法 Apr 13, 2025 pm 01:03 PM

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

Apache80ポートが占有されている場合はどうすればよいですか Apache80ポートが占有されている場合はどうすればよいですか Apr 13, 2025 pm 01:24 PM

Apache 80ポートが占有されている場合、ソリューションは次のとおりです。ポートを占有するプロセスを見つけて閉じます。ファイアウォールの設定を確認して、Apacheがブロックされていないことを確認してください。上記の方法が機能しない場合は、Apacheを再構成して別のポートを使用してください。 Apacheサービスを再起動します。

Apacheバージョンを表示する方法 Apacheバージョンを表示する方法 Apr 13, 2025 pm 01:15 PM

Apacheサーバーでバージョンを表示するには3つの方法があります。コマンドライン(Apachectl -vまたはapache2ctl -v)を介して、サーバーステータスページ(http://&lt; server ipまたはdomain name&gt;/server -status)を確認します。

Apacheバージョンを表示する方法 Apacheバージョンを表示する方法 Apr 13, 2025 pm 01:00 PM

Apacheバージョンを表示する方法は? Apache Serverを起動する:sudo service apache2を使用してサーバーを起動します。バージョン番号の表示:次のメソッドのいずれかを使用してバージョンを表示します。コマンドライン:apache2 -vコマンドを実行します。サーバーステータスページ:WebブラウザーでApacheサーバーのデフォルトポート(通常80)にアクセスすると、バージョン情報がページの下部に表示されます。

Apacheのパフォーマンスチューニング:速度と効率の最適化 Apacheのパフォーマンスチューニング:速度と効率の最適化 Apr 04, 2025 am 12:11 AM

Apacheのパフォーマンスを改善する方法は次のとおりです。1。キープライブ設定の調整、2。マルチプロセス/スレッドパラメーターを最適化、3。mod_deflateを使用して圧縮に使用します。これらの戦略により、Apacheサーバーの応答速度と同時処理機能を大幅に改善できます。

Apache用のZendを構成する方法 Apache用のZendを構成する方法 Apr 13, 2025 pm 12:57 PM

ApacheでZendを構成する方法は? Apache WebサーバーでZend Frameworkを構成する手順は次のとおりです。ZendFrameworkをインストールし、Webサーバーディレクトリに抽出します。 .htaccessファイルを作成します。 Zend Application Directoryを作成し、index.phpファイルを追加します。 Zend Application(Application.ini)を構成します。 Apache Webサーバーを再起動します。

Apacheを開始できない問題を解決する方法 Apacheを開始できない問題を解決する方法 Apr 13, 2025 pm 01:21 PM

Apacheは、次の理由で起動できません。構成ファイル構文エラー。他のアプリケーションポートとの競合。権限の問題。メモリから。デッドロックを処理します。デーモン障害。 Selinux許可の問題。ファイアウォールの問題。ソフトウェアの競合。

See all articles