最近、プロジェクトを Linux サーバーにデプロイするときに、一部のテンプレートが実際に「テンプレートが存在しません」というエラーを報告していることがわかりました。 /アプリケーション/管理者" /...."
サーバー上のファイルを確認したところ、不足しているファイルはないことがわかりました。ファイルを再度サーバーにアップロードしましたが、それでもエラーが発生しました。おかしいですね、コードの問題ではないかと思います。
慎重に調査した結果、テンプレート:
のファイル名に問題があることが判明しましたTP を使用したことのある人なら誰でも知っていることですが、$this->display() (たとえば、getUserInfo メソッドが getuserinfo.html テンプレート ファイルを使用する場合) の場合、thinkphp はメソッド名をテンプレート ファイル名として自動的に取得します。
コントローラーのメソッドにはキャメルケースの名前を使用し、ビューレイヤーのテンプレート名にもキャメルケースの名前を使用します。例えば、getUserInfoメソッドはgetUserInfo.htmlのテンプレートファイルに相当しますが、! thinkphp が $this->display() を読み取るとき、読み取られるメソッド名は小文字で読み取られます。つまり、テンプレート名は getuserinfo.html である必要があります。
Windows ではファイル名の大文字と小文字が区別されませんが、Linux では区別されるため、エラーが報告されます。
解決策: テンプレート ファイル名を小文字に変更するか、$this->display('テンプレート ファイル名') (.html なし) を変更します。
この記事が成功か失敗かを決定します。読んでいただきありがとうございます。