ThinkPHP3.2 + PHP5.6 + Nginx1.8
ファイルのアップロード プロンプト 404、ファイルが見つかりません。
「ファイルをアップロードしていますが、なぜ 404 なのでしょうか? リクエストリンクが間違って書かれている可能性がありますか?」
操作: リンクをブラウザに直接コピーしてアクセスします。 結果: ステータス コード 200 OK。
「リンクに問題はありません。ツール クラスの初期化に問題がありますか?」
操作: ツール クラスのコンストラクターで、データを出力して終了します。 結果: まだ 404、ツール クラスとは関係ありません
「フレームワークのバグですか?」
操作: 新しいプロジェクトを作成し、アップロードされたテスト ファイルをネイティブ コードで書き込みます。 結果: まだ404、フレームワークとは関係ありません
「プログラムには関係ないので、サーバーとPHPの問題です。PHPにはデフォルトでオフになっているアップロード制御パラメータがあるためでしょうか、それからそれらをオンにしないのですが、意味がありません。たとえそうなっていても、意味がありません。404 が表示されるはずです。サーバーの問題であるはずですが、直接アクセス リンクは有効であり、アップロードされたファイルは最も可能性が高いのはこれです。Linux では、アップロードされたファイルは非常に厳しく、一時ファイルがディレクトリに生成され、指定されたディレクトリに移動されます。アップロードが成功する前のコピー機能。プログラムに一時フォルダーのアップロード権限がない場合、404 が報告される可能性があります。問題は、一時ファイルがどこにアップロードされるかです。「
操作: google + baidu 結果: そこに書かれていることは、まったく望ましい内容ではありません。
「**さん、ファイルを一つずつ読まないといけないのですか? ところで、ログはありませんか? まずはサーバーのログに情報があるか確認してください。」
操作: nginx ログファイル 結果: /**/***/temp ディレクトリとはっきりと書かれており、権限が不足しています。
残りは非常に簡単で、変更許可ステートメントを 1 つだけ行うだけです。
要約: 1. バグが発生した場合は、まずどのリンクで問題が発生するかを明確に考えてから、実行中のログ ファイルを確認する必要があります。意味がわからない場合は、Google をコピーしてください。バグが誰も関与しないレベルに達していない限り、通常は問題の解決策が見つかります。 2. プログラムの理解度により、デバッグ時間が効果的に短縮されます。初心者の場合、ログを読んで Google を回避することはおろか、ネイティブ アップロードを作成することも困難です。デバッグの経験とプログラムの理解によって改善され、先人の教えを通じて正しいデバッグ計画が得られます。 4. 多くの場合、受動的な学習よりも、より多くの要約と共有を行う方が効果的です。