ホームページ >運用・保守 >Nginx >nginxがphpファイルを解析しない問題を解決する方法

nginxがphpファイルを解析しない問題を解決する方法

PHPz
PHPz転載
2023-05-21 10:46:461733ブラウズ

  1. PHP がインストールされていないか、構成されていません

まず、サーバーに PHP がインストールされ、nginx が正しく構成されていることを確認してください。正しく機能するようにします。 PHP が正しくインストールされているかどうかを確認するには、ターミナルを開いて次のコマンドを実行します。

php -v

これにより、サーバーに現在インストールされている PHP のバージョンが表示されます。 PHP のバージョンが表示されない場合は、PHP のインストールを検討してください。

PHP が nginx で動作することを確認するには、nginx 構成ファイルを編集して次の行を追加します。

location ~ \.php$ {
  fastcgi_pass  unix:/run/php/php7.4-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

ここでは、nginx の PHP ファイル処理場所とその他のパラメーターを指定します。コード ブロックが nginx 構成ファイルに追加されていること、および sock ファイルへのパスが PHP 構成ファイルと一致していることを確認してください。

  1. index.php ファイルが設定されていません

Web アプリケーションのホームページがindex.php であるが、それが nginx に自動的に含まれない場合処理された場合は、次のように nginx 設定ファイルの「index」ディレクティブにindex.phpを追加する必要があります:

index index.php index.html;

これで、ホームページを開くと、nginxは自動的にindex.phpを見つけて正しく処理します。それ。

  1. PHP ファイルのアクセス許可

nginx が PHP ファイルを解析できないもう 1 つの主な理由は、アクセス許可が正しくないことです。次のことを確認してください:

  • PHP ファイルの権限は 644

  • PHP ファイルが配置されているディレクトリの権限は 755

また、nginx ユーザーがすべての PHP ファイルの所有権を持っており、PHP ファイルが配置されているディレクトリの所有権も nginx グループに設定されていることを確認してください。これは、次のコマンドを使用して実現できます。

sudo chown -R nginx:nginx /var/www/html/

ここでは、/var/www/html/ ディレクトリの所有権を nginx ユーザーとグループに割り当てます。

  1. PHP モジュールが有効になっていません

nginx が PHP ファイルを解析できず、エラー メッセージが表示されない場合は、次のことを確認してください。 PHP モジュールが有効になりました。これを有効にするには、nginx のコンパイル オプションを編集し、次の行を追加します:

--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_auth_request_module \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_degradation_module \
--with-http_xslt_module \
--with-http_stub_status_module \
--with-http_spdy_module \
--with-http_auth_request_module \
--with-http_slice_module \
--with-mail \
--with-mail_ssl_module \
--with-ipv6 \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-threads \
--with-debug \
--add-module=/path/to/php-src/sapi/nginx/

ここでは、PHP モジュールを有効にするために --add-module=/path/to/php-src/sapi/nginx/ を追加しました。

  1. PHP エラー ログ

nginx が PHP ファイルを解析できないが、エラー メッセージが表示されない場合は、PHP で情報を探すことができます。エラー ログ エラーに関する詳細情報。 php.ini ファイルを開き、次の行のコメントを解除して PHP エラー ログを有効にします

error_log = /var/log/php/error.log
log_errors = On

PHP エラー ログとして /var/log/php/error.log を指定し、エラー ログ機能を有効にします。フォルダーが作成され、適切な権限があることを確認してください。

以上がnginxがphpファイルを解析しない問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。