nginx php403エラーを解決する方法
nginx php403 エラーの解決策: 1. ファイルのアクセス許可を変更するか、selinux を有効にします; 2. php-fpm.conf を変更し、必要なファイル拡張子を追加します; 3. php.ini の内容を「cgi.fix_pathinfo =」に変更します0"; 4. php-fpm を再起動します。
このチュートリアルの動作環境: linux5.9.8 システム、PHP バージョン 8.1、Dell G3 コンピューター。
nginx php403 エラーを解決するにはどうすればよいですか?
nginx php 403 原因分析
問題:
設定された Web サイトにアクセスすると、エラー メッセージが表示されます: アクセスが拒否されました (403)
一般的な解決策:
1. ファイル権限の問題
ファイル権限が問題である可能性があります問題は、読み取り権限がありません。
または、selinux が閉じられていません。
2. security.limit_extensions
nginx エラー ログ error.log を確認し、次のエラーを見つけます:
2016/07/07 10:20:13 [error] 17710#0: *2145 FastCGI sent in stderr: "Access to the script '/home/www/game/10313156.html' has been denied (see security.limi t_extensions)" while reading response header from......
5.3.9 以降、PHP正式に「security.limit_extensions」という設定が追加されましたが、デフォルトでは拡張子が「.php」のファイルのみ実行が許可されており、他の種類のファイルはサポートされていないという問題が発生しています。
正式な説明:
; Limits the extensions of the main script FPM will allow to parse. This can ; prevent configuration mistakes on the web server side. You should only limit ; FPM to .php extensions to prevent malicious users to use other extensions to ; exectute php code. ; Note: set an empty value to allow all extensions. ; Default Value: .php ;security.limit_extensions = .php .php3 .php4 .php5
php-fpm.conf を変更: (必要なファイル拡張子を追加)
security.limit_extensions = .php .html .js .css .jpg .jpeg .gif .png .htm
3.cgi.fix_pathinfo
この URL からアクセスすると、アクセス拒否エラーが表示されます。
nginx エラー ログ:
2016/07/08 09:47:12 [error] 24297#0: *3348 FastCGI sent in stderr: "Access to the script '/home/www/home.php/game/qr' has been denied (see security.limit_extensions)" while reading response header......
php.ini の変更: (cgi.fix_pathinfo のデフォルトは 1)
cgi.fix_pathinfo = 1
正式な説明:
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://php.net/cgi.fix-pathinfo
実際には、cgi.fix_pathinfo = 1 はファイル タイプ エラー解析の脆弱性を引き起こす可能性があるため、cgi.fix_pathinfo = 0 に設定することをお勧めします。
(脆弱性の理解について:
cgi.fix_pathinfo=1の場合、パス:/foo.jpg/file.phpにアクセスし、file.phpファイルが存在しない場合、 php パーサー どのファイルを実行するかを推測し、パスに沿って振り返ります。foo.jpg が存在し、PHP コードが含まれている場合、PHP パーサーは foo.jpg を実行します。
cgi.fix_pathinfo= の場合0 現時点では、PHP インタープリターは指定されたパスのみを試行し、ファイルが見つからない場合は処理を停止します。
)
ただし、cgi.fix_pathinfo = 0 に設定すると、多くの MVC フレームワーク (たとえば、 ThinkPHP として) が正しく機能しません。
4.
php.ini に次のように設定します: open_basedir=/home:/tmp/:/proc/
php-fpm を再起動します
Web ページにアクセスし、Ctrl F5 キーを押して頻繁に更新すると、「アクセス拒否」エラーが報告されます。 「アクセス拒否」は時々表示されるだけで、常に 403 が表示されるわけではありません。
nginx エラー ログ レコード:
2016/07/09 08:32:40 [error] 26954#0: *2127721 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: open_basedir restriction in effect. File(/home/www/touch/web/index.php) is not within the allowed path(s): (/home/wwwroot:/tmp/:/proc/) in Unknown on line 0 PHP message: PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0 Unable to open primary script: /home/www/touch/web/index.php (Permission denied)" while reading response header from upstream, client: 117.136.1.22, server: test.hjq.com, request: "GET /index.php?c=Zs&a=getcontent HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "test.hjq.com"
2、In your nginx config file set fastcgi_pass to your socket address (e.g. unix:/var/run/php-fpm/php-fpm.sock;) instead of your server address and port. 3、Check your SCRIPT_FILENAME fastcgi param and set it according to the location of your files. 4、In your nginx config file include fastcgi_split_path_info ^(.+\.php)(/.+)$; in the location block where all the other fastcgi params are defined.
推奨学習: 「PHP ビデオ チュートリアル 」
以上がnginx php403エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











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

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

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

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

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

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

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。
