最近のプロジェクトを Windows から Linux に移行する必要があります。ローカルで実行する場合は問題ありませんが、バックエンド システム (admin.php) に入るときに、Web サイトにファイルが多すぎるというエラー メッセージが報告されます。
読み込みプロセスはadmin.phpです エントリーファイルとして、インデックスコントローラーはbaseActionを継承しており、baseActionには次のコードがあります
class IndexAction extends BaseAction { public function index() { //indexAction.class.php } } class BaseAction extends Action { //BaseAction.class.php public function _initialize() { if (!$this->isLogin()) { $this->redirect('Home/Login/index'); } }
ログインコントローラーのコード
class LoginAction extends Action { /** * 显示登录页面 */ public function index() { if (!empty($_SESSION[C('SESSION_ADMIN_NAME')]) && !empty($_SESSION[C('SESSION_ADMIN_ID')]) && strtolower(ACTION_NAME) != 'logout') { $this->redirect("Index/index"); } $this->display('login'); }
理論上、loginActionはbaseActionを継承しません。ただし、Web サイトではリダイレクトが多すぎるというメッセージが表示されますが、フロントエンドの Index.php の下のページは正常ですが、バックエンド システムのリダイレクトはイライラします
。 :
pathinfo モードを変更しようとしましたが、nginx の書き換えモードを確認しても機能しませんでした
解決策:
最も愚かな方法を使用し、エントリファイル admin.php から開始して、ファイルをトレースして出力します1 つずつ実行して終了して、問題がどこにあるかを確認します。これは小さな黄色いアヒルのデバッグ方法と似ています、笑
rreee