PHP-FPM は一般的に使用される FastCGI マネージャーです。多くの Web サイトでは PHP スクリプトの処理にこれを使用していますが、PHP-FPM が有効にならない状況に遭遇することがあります。この記事では、考えられる原因とその解決方法をいくつか紹介します。
まず、PHP-FPM が実行されていることを確認する必要があります。これは次の方法で確認できます:
systemctl status php-fpm
PHP-FPM が開始されていない場合は、開始する必要があります:
systemctl start php-fpm
PHP-FPM がすでに実行されている場合は、この手順をスキップして、他のものを探し続けることができます。潜在的な問題。
2 番目に、PHP-FPM の構成ファイルが正しいことを確認する必要があります。デフォルトでは、PHP バージョンには独自のデフォルト設定ファイルがあります。ただし、一部の設定を変更する必要がある場合は、それらをオーバーライドして構成ファイルを再ロードする必要があります。
次に、Nginx 設定ファイルが正しいかどうかを確認します。 Nginx の構成ファイルでは、正しい PHP-FPM ソケットまたはポートが使用されていることを確認する必要があります。通常、Nginx 構成ファイルには次の設定が含まれています。
location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; include fastcgi_params; }
上記の例では、Nginx はリクエストを PHP-FPM のソケット ファイルに送信します。 PHP-FPM がポートでリッスンする場合は、ポートを fastcgi_pass 127.0.0.1:9000;
に変更する必要があります (9000 がデフォルトのポート)。
最近 PHP バージョンを更新した場合は、PHP モジュールが利用可能であることも確認する必要があります。次のコマンドを実行して、PHP モジュールがロードされているかどうかを確認できます。
php -m
PHP-FPM と Nginx の両方が正しく構成されているにもかかわらず、PHP スクリプトがまだ正しく処理されていない場合は、権限が原因である可能性があります。問題。 PHP-FPM は WWW ユーザーの下で実行され、ドキュメント ルート ディレクトリ (通常は /var/www/html
) に対して最高の権限を持ちます。フォルダーやファイルのアクセス許可が制限されている場合、PHP スクリプトが正しく実行されない可能性があります。
権限の問題によって PHP-FPM が有効にならないことを防ぐため、WWW ユーザーがドキュメント ルート ディレクトリへの完全なアクセス権を持っていることを確認してください。 WWW ユーザーは、次のコマンドで変更できます。
usermod -a -G www-data username chown -R www-data:www-data /var/www/html chmod -R 755 /var/www/html
上記の例では、WWW ユーザーを変更し、フォルダーとファイルの所有権とアクセス許可を WWW ユーザーと 755 に設定します。これにより、PHP-FPM がドキュメント ルートに完全にアクセスできるようになり、PHP スクリプトが適切に実行できるようになります。
つまり、PHP-FPM が有効にならない場合は、次の点を確認する必要があります。
# これらの考えられる問題を確認することで、PHP-FPM が動作しない問題を解決できるはずです。
以上がPHP-FPM が有効にならない理由と解決策について話し合い、まとめます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。