91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ThinkPHP6提示控制器不存在怎么辦

發布時間:2021-01-07 10:03:49 來源:億速云 閱讀:971 作者:小新 欄目:編程語言

這篇文章主要介紹了ThinkPHP6提示控制器不存在怎么辦,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

ThinkPHP 6 提示控制控制器不存在


thinkphp 6 默認是單應用模式,需要多應用時,就要安裝多應用模式擴展think-multi-app

composer require topthink/think-multi-app

然后刪除框架自帶的app\controller目錄,創建自己需要的應用目錄.

例如:\app\index\controller\Index.php

<?php
namespace app\index\controller;use app\BaseController;class Index extends BaseController
{    public function index()
    {        return 'hello index';
    }
}

訪問這個方法:http://www.study_tp6.com/public/index.php/index/index/index

結果提示:控制器不存在 app\controller\index


查找原因:

1、按照官方文檔安裝了think-multi-app擴展,提示安裝成功。

2、控制器的命名空間也沒寫錯。

3、訪問路徑與目錄名、控制器、方法名一樣,訪問地址是沒錯的。

4、網上有說,在配置文件config/app.php中,將 'auto_multi_app' => flase, 改為true,

  但我使用的版本是ThinkPHP 6.0.4,配置文件中并沒有這個參數,試了試,加上也沒用。

5、難道下載的框架有問題?重新下載框架,重新安裝多應用擴展,結果還是不行。


解決辦法:

感謝 【ikgade】在官方的評論分享,試了試,解決了這個坑。

這是作者的思路和方案:

為什么提示 “控制器不存在:app\controller\Admin”?
因為安裝多應用模式擴展執行的指令沒有生效 php think service:discover 自動注冊擴展包的系統服務。
為什么自動注冊拓展包服務失敗,詳見代碼:
vendor/topthink/framework/src/think/console/command/ServiceDiscover.php
第34行代碼$package['extra']['think']['services']為空,導致生成自動注冊服務文件
services.php 中沒有注冊的代碼。
天坑!
怎么解決呢?
首先找到你加入的拓展,在這里:
vendor/composer/installed.json
然后把所有的$package['extra']['think']['services']復制粘貼到services中,或者修改以下文件的代碼:
vendor/topthink/framework/src/think/console/command/ServiceDiscover.php

復制vendor/composer/installed.json中的services值到vender/services的數組中。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“ThinkPHP6提示控制器不存在怎么辦”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海门市| 镇坪县| 嘉定区| 石景山区| 延川县| 苗栗县| 武强县| 左云县| 西城区| 客服| 平遥县| 商南县| 临澧县| 双桥区| 巴彦县| 陇南市| 开封市| 五台县| 威信县| 富裕县| 郧西县| 南陵县| 嘉峪关市| 三明市| 贵阳市| 永和县| 常德市| 西贡区| 嘉定区| 砀山县| 永安市| 新郑市| 衡山县| 崇义县| 胶州市| 马鞍山市| 太和县| 桐乡市| 彩票| 平南县| 太仓市|