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

mac nginx が php を解析しない場合はどうすればよいですか?

Jul 23, 2021 am 10:02 AM
nginx php

Mac nginx が php を解析しない場合の解決策: 1. 正しい名前の新しいファイルを cp します; 2. コマンド「php-fpm --fpm-config...」を実行します; 3. ファイルを cp しますwww .conf ファイルという名前; 4. ソリューション プロセスを終了します。

mac nginx が php を解析しない場合はどうすればよいですか?

この記事の動作環境:macOS10.15システム、PHP7.1バージョン、MacBook Air 2019コンピュータ

mac nginx php が解析されない場合はどうすればよいですか?

nginx で php をデプロイするときに Mac が遭遇する落とし穴

ある人から Web サイトのデプロイを手伝ってほしいと頼まれ、まずローカル nginx でデバッグしたいと思いました。最初、ページを開いたとき、403 と表示されました。これは以前にも見たことがあり、nginx の権限の問題でした。権限を変更した後、PHP ページにアクセスすると、解析せずに直接ダウンロードされることがわかりました。私のPCにPHP環境がないことを思い出し、PHPをダウンロードしましたが、やはり同じ症状でした。つまり、私はPHPにあまり詳しくないため(以前はxamppなどのソフトウェアを使用していました)、完了するまでに時間がかかりました。

最初に理解すべきことは、nginx 自体は PHP を処理できないということです。これは単なる Web サーバーです。フロントエンドが PHP を要求すると、nginx は処理のためにインターフェイスを PHP インタープリターに送信してから返す必要があります。結果をフロントエンドに送信します。通常、nginx はリクエストを fastcgi 管理プロセスに送信して処理します。たとえば、nginx の設定:

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;#这里原来不是$document_root,搞得我很蒙,还好网上查到改好了,不然会报file not found
    include        fastcgi_params;
}
ログイン後にコピー

したがって、fastcgi を開始するには、php-fpm がここで使用されます。これは php fastcgi マネージャーであり、php 言語にのみ使用されます (古いバージョンの php は、 php-fpm を別途ダウンロードしてください。私が使用している php-fpm にはこれが統合されています)。

ここには奇妙な質問がたくさんあります。

  • php-fpm の初回実行

失敗: /private/etc/php-fpm.conf ファイルが見つかりません。

解決策: ただし、このディレクトリには php-fpm.conf.default ファイルがあるため、正しい名前の新しいファイルを作成します

  • ##php-fpm を 2 回目に実行します

失敗: /usr/var/log/php-fpm.log

解決策: そのようなディレクトリはまったくありません。conf ファイルで変更しました。しかたがないので、以下のコマンドで php-fpm を実行するしかありません (このコマンドは後で実行します)

php-fpm --fpm-config /private/etc/php-fpm.conf  --prefix /usr/local/var
ログイン後にコピー

  • Run php-fpm for the 3 回目

  • Failed: No pool defined. at least one pool section must be specified in config file
    ログイン後にコピー
解決策: /etc/php-fpm.d/ ディレクトリに移動すると、www.conf.default ファイルがあり、www.conf## という名前のファイルを cp します。

    #4 番目の php-fpm の初回実行
  • 失敗: ポートが占有されています

解決策: このプロセスを強制終了します

sudo lsof -i tcp:9000#占有ポートを探す ポート9000のプロセス番号

#kill -9 port#Kill!

php-fpm を 5 回目に実行します
  • ## 成功しました。

  • ##補足:

nginx で設定する場合は少し違いがあり、Mac では php-fpm は 9000 ポートを直接リッスンしますが、サーバーでは php7 をリッスンします。 0. -fpm.sock ですがソケット ファイルです。この方法の方が高速な場合があるため、php

を正常に実行するには、nginx の php 設定の

fastcgi_pass 127.0.0.1:9000;
ログイン後にコピー

を次のように変更する必要があります。

推奨学習: 「

PHP ビデオ チュートリアル

引き続き追加

非常に興味深い内容なので、ビデオをアップロードしたいと思います。 27 分、nginx は 413 Request Entity Too Large を直接報告しましたが、設定しませんでした...

それを nginx 設定に追加します (set-enabled/default)

fastcgi_pass unix:/run/php/php7.0-fpm.sock;
ログイン後にコピー
設定を読み直して、サーバーを再起動します

server {
    ...
    client_max_body_size 80m;
    ...
}
ログイン後にコピー

次に、php.ini を変更してその中の 2 つの構成を変更する必要があります

nginx -s reload
service nginx restart
ログイン後にコピー

次に、php-fpm プロセスをオフにして再起動します~

ps : 先生 本当に全然調べてないんですが…mp4はアップロードできませんが、このタイプはシステムに追加されていません。これは自分で探すしかありません…不快です:(

note : ubuntu では apt を使用することがより推奨されるようになりました。apt-get ではありません…だから、変更する時期が来ました!

以上がmac nginx が php を解析しない場合はどうすればよいですか?の詳細内容です。詳細については、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)

PHPの目的:動的なWebサイトの構築 PHPの目的:動的なWebサイトの構築 Apr 15, 2025 am 12:18 AM

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPおよびPython:コードの例と比較 PHPおよびPython:コードの例と比較 Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHP:データベースとサーバー側のロジックの処理 PHP:データベースとサーバー側のロジックの処理 Apr 15, 2025 am 12:15 AM

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

Nginxが開始されるかどうかを確認する方法 Nginxが開始されるかどうかを確認する方法 Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

nginxでクラウドサーバードメイン名を構成する方法 nginxでクラウドサーバードメイン名を構成する方法 Apr 14, 2025 pm 12:18 PM

クラウドサーバーでnginxドメイン名を構成する方法:クラウドサーバーのパブリックIPアドレスを指すレコードを作成します。 NGINX構成ファイルに仮想ホストブロックを追加し、リスニングポート、ドメイン名、およびWebサイトルートディレクトリを指定します。 nginxを再起動して変更を適用します。ドメイン名のテスト構成にアクセスします。その他のメモ:SSL証明書をインストールしてHTTPSを有効にし、ファイアウォールがポート80トラフィックを許可し、DNS解像度が有効になることを確認します。

Nginxバージョンを確認する方法 Nginxバージョンを確認する方法 Apr 14, 2025 am 11:57 AM

nginxバージョンを照会できるメソッドは次のとおりです。nginx-vコマンドを使用します。 nginx.confファイルでバージョンディレクティブを表示します。 nginxエラーページを開き、ページタイトルを表示します。

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

See all articles