デバッグの夢想

WBOY
リリース: 2016-06-23 13:05:35
オリジナル
894 人が閲覧しました

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. 多くの場合、受動的な学習よりも、より多くの要約と共有を行う方が効果的です。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート