Heim >PHP-Framework >Denken Sie an PHP >Was soll ich tun, wenn thinkphp den Controller nicht laden kann?
Was soll ich tun, wenn ThinkPHP3.2 den Controller nicht laden kann?
Beim Upgrade von ThinkPHP3.1.3 auf ThinkPHP3.2.3 trat nach einiger Zeit immer noch das Problem auf, dass der Controller nicht geladen werden konnte, auch wenn Ansicht, Modus und Controller im angegebenen Verzeichnis abgelegt wurden Untersuchungen ergaben, dass die Hauptursache dafür mehrere Gründe sein kann.
(1) APP_USE_NAMESPACE (ob Namespace verwendet werden soll): Wenn der Namespace beim Definieren des Controllers verwendet wird, wird der Controller nicht geladen. In diesem Fall setzen Sie den Parameter einfach auf true. Kann in ThinkPHP/Common/Conf/convention.php festgelegt werden.
Verwandte Empfehlungen: „ThinkPHP Tutorial“
(2) ACTION_BIND_CLASS (ob Methoden und Klassen gebunden werden sollen): Wenn auf „false“ gesetzt, sollte die Struktur des Controller-Ordners Der Name von Controller/View lautet Controller.class.php, und die Methoden werden einzeln in die Klasse geschrieben. Wenn sie jedoch auf true gesetzt ist, sollte die Struktur des Controller-Ordners Controller/View name/method.class.php lauten. wobei eine Klasse einer Methode entspricht.
(3) MODULE_ALLOW_LIST (erlaubt den Zugriff auf Module) und MODULE_DENY_LIST (verweigert den Zugriff auf Module): Wenn ein Modul so eingestellt ist, dass es den Zugriff verbietet, oder nicht in der Liste der zulässigen Zugriffe festgelegt ist, können nicht alle Seiten unter dem Modul darauf zugreifen normal zugegriffen werden.
(4) URL_MODEL (URL-Zugriffsmodus): Wenn es nicht 0 ist und Sie die U-Methode verwenden, um die Methoden anderer Controller unter dem Modul aufzurufen, müssen Sie das Modul definieren, indem Sie BIND_MODULE definieren, andernfalls Das aktuelle Modul kann nicht erkannt werden.
(5) Die Controller-Definition ist falsch: Der Namespace muss in der ersten Nicht-Kommentarzeile im Controller definiert werden. Achten Sie beim Definieren des Controllers auf die Schreibweise des Klassennamens und darauf, ob der Der erweiterte Controller existiert häufig, weil dieses kleine Problem zu einem Verlust des Zugriffs auf den Controller führte.
(6) BIND_MODULE (Modul binden): Wenn das Modul in der Eintragsdatei gebunden ist, kann das Modul nicht in den Pfad aufgenommen werden, andernfalls kann nicht auf den Controller zugegriffen werden.
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn thinkphp den Controller nicht laden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!