Mac nginx が php を解析しない場合の解決策: 1. 正しい名前の新しいファイルを cp します; 2. コマンド「php-fpm --fpm-config...」を実行します; 3. ファイルを cp しますwww .conf ファイルという名前; 4. ソリューション プロセスを終了します。
この記事の動作環境: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 --fpm-config /private/etc/php-fpm.conf --prefix /usr/local/var
Failed: No pool defined. at least one pool section must be specified in config file
解決策: このプロセスを強制終了します
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 サイトの他の関連記事を参照してください。