ThinkPHP がデバッグ モードをオフにしてエラーを報告する原因となる問題の概要
この記事は、個人がプロジェクトで遭遇したデバッグモードでエラーが発生したときと最終的な処理方法をまとめたものです。ケース 1:
最近、ThinkPHP を使用してプロジェクトを開発しました。ローカルでの開発とテストが完了し、サーバーにアップロードされた後、初めて正常に開きましたが、ページを更新すると、「ページのデバッグ エラー、ページが見つかりません。」というエラーが表示されました。 、もう一度お試しください」と表示されました
ローカル設定のdefine('APP_DEBUG', false) が正常に動作するのは明らかですが、サーバーに配置すると問題が発生するのはなぜですか?
baidu、Googleはまだ解決策を見つけておらず、プロジェクトのAPP_Name/Runtime/CacheディレクトリとAPP_Name/Runtime/Logsディレクトリに書き込み権限がないことが突然判明したので、思い切って変更しました、F5、まあ、お母さん、いいえエラーメッセージを気にする必要がなくなりました
ケース 2:
APP_DEBUG 定数を false に設定した後、ThinkPHP で次のような問題が発生しました:
コードは次のとおりです:
解析エラー: 構文エラー、E:PHPnowhtdocsojbakRuntime~app.php の 1 行目で予期しない T_STRING です
あるいは「サーバーエラー」を直接報告するにはどうすればよいですか?
これはPHPに関係するので、php.iniの設定を変更します
コードは次のとおりです:
short_open_tag = オン
app.class.phpのbuildメソッドのため:
デバッグモードをオンにすると、関連するファイルの内容が取得され、ファイルに再構築されます。このとき、 が自動的に追加されます。
これがご覧の ~app.php ファイルですしかし、デバッグモードをオンにしないと、関連するファイルが毎回ロードされるため、エラーが露出します。
ケース 3:
thinkphp で APP_DEBUG を false に設定すると、データ クエリ (選択、検索など) では常に最初の項目が表示されます。 。ただし、APP_DEBUG を true に設定すると、正常になります。 。これはなぜですか? 解決策はありますか?
通常、APP_DEBUG はデバッグ モードですが、オンライン環境では false に設定してください。 。
選択クエリを自分で見つけ、デバッグをオフにして、ファイルの書き込みを使用して、クエリの後に生成された SQL をデバッグします。
以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。
http://www.bkjia.com/PHPjc/988365.html
www.bkjia.com