ホームページ > バックエンド開発 > PHPの問題 > mac nginx が php ファイルを解析できない場合はどうすればよいですか?

mac nginx が php ファイルを解析できない場合はどうすればよいですか?

PHPz
リリース: 2023-04-11 13:57:29
オリジナル
732 人が閲覧しました

Mac 上で Nginx を使用して Web サーバーを構築するのは一般的な操作ですが、Nginx が PHP ファイルを解析できないという問題が発生することがあります。この場合、PHP ファイルにアクセスすると、解析して実行されるのではなく、直接ダウンロードされるため、Web 開発に不便が生じます。

この記事では、Mac上でNginxを使ってWebサーバーを構築する際に、NginxがPHPファイルを解析できない問題の解決方法を紹介します。これには主に次の側面が含まれます:

  1. 原因分析
  2. 解決策
  3. 原因分析

Nginx はデフォルトでは PHP 解析をサポートしていません。 . PHP 解析を実装するには、PHP-FPM を使用する必要があります。 PHP-FPM を起動すると、Nginx との Socket 接続を確立し、リクエストを PHP-FPM プロセスに転送して処理し、PHP-FPM は処理結果を Nginx に返し、Nginx は最終的に結果をクライアントに返します。

したがって、Nginx が PHP ファイルを解析できない理由は次のとおりである可能性があります:

  1. PHP-FPM がインストールされていません
  2. PHP-FPM が起動していません
  3. Nginx 設定ファイルで PHP 解析が設定されていません
  4. ##解決策
  5. ##上記の理由により、次の方法で解決してください。

2.1 PHP-FPM のインストール

最初に PHP-FPM をインストールする必要があります。Homebrew を使用してインストールできます。

brew install php-fpm
ログイン後にコピー

インストールが完了したら、次のコマンドを実行して、インストールが成功したかどうかを確認します。

php-fpm -v
ログイン後にコピー

PHP のバージョン情報が表示されれば、インストールは成功しています。

2.2 PHP-FPM の開始

PHP-FPM をインストールした後、PHP-FPM プロセスを開始する必要があります:

sudo php-fpm
ログイン後にコピー

開始後、次のコマンドを使用して、成功:

ps aux | grep php-fpm
ログイン後にコピー

次のような情報が表示された場合は、PHP-FPM が正常に開始されたことを意味します:

_www           49202   0.0  0.7  5871400  11664   ??  S    11:42上午   0:00.03 php-fpm: pool www
ログイン後にコピー

2.3 Nginx の構成

Nginx 構成ファイルに PHP 解析構成を追加します。サーバー セクションに次の内容を追加できます:

location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
ログイン後にコピー

解析手順:

    location ~ \.php$
  • : .php
  • fastcgi_pass 127.0.0.1:9000;
  • : リクエストが処理のために PHP-FPM プロセスに転送されることを示します。ここの番号は、PHP-FPM プロセスの開始時に使用されるポート番号と一致している必要があります。
  • fastcgi_indexindex.php;
  • : リクエスト ディレクトリに指定されたファイルがない場合に、デフォルトでは、index.php がエントリ ファイルとして使用されます
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  • : 要求されたファイルのフル パスが PHP-FPM プロセスに渡されることを示します。ここで、$document_root は Nginx によって構成された Web ルート ディレクトリを表し、$fastcgi_script_name はリクエストのフル パス (ドメイン名とパラメーターを除く) を表します。 #include fastcgi_params;
  • : FastCGI パラメータ設定ファイル。FastCGI に関連するいくつかのパラメータ設定が含まれます。
  • 設定が完了したら、次のコマンドを使用して Nginx 設定を再ロードできます:
sudo nginx -s reload
ログイン後にコピー
上記は、次の場合に Nginx が PHP ファイルを解析できない問題を解決する方法です。 Nginx を使用して Mac 上に Web サーバーを構築します。この記事がお役に立てば幸いです。

以上がmac nginx が php ファイルを解析できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート