PHP コントローラーが見つからない場合の解決策: 1. 元のディレクトリのコントローラー フォルダーを確認します; 2. "'auto_multi_app' =>true," を変更します; 3. "php think service:discover "; を実行します。コードを再実行して、tp ディレクトリ内の複数のアプリケーションを有効にします。
![PHPコントローラーが見つからずエラーが報告される問題を解決する方法](https://img.php.cn/upload/article/202210/20/2022102009535969515.jpg)
#このチュートリアルの動作環境: Windows7 システム、thinkphp v6 バージョン、Dell G3 コンピューター。
php コントローラーがエラーを見つけられない問題を解決するにはどうすればよいですか?
TP6 マルチアプリケーション モジュール エラーがコントローラーを見つけられない
メインの内容はやはりシングルアプリケーションモジュールをマルチアプリケーションモジュールに変更する際に発生するエラー報告問題で、システムをまだ学んでいない初心者向けとなっています。
cmd
composer require topthink/think-multi-app
ログイン後にコピー
ログイン後にコピー
でマルチアプリケーション モジュールを実行すると、エラーは報告されませんが、プロジェクトを開くことはできません。エラー
#0 [0]HttpException in Controller.php line 76
ログイン後にコピー
コントローラーが存在しません: app\controller\Index
現時点では、app\controller\ はまだシングル アプリケーション モードであることを示しており、複数のアプリケーションが正常に開かれていません。
考えられる理由 1: 元のディレクトリにあるコントローラー フォルダーを削除します。このファイルが存在すると、プロジェクトは最初にこのファイルを直接検索し、まだ単一のアプリケーション プロジェクトであると判断し、複数のアプリケーションを実行しません。 -アプリケーションプロジェクト。
考えられる理由 2: (このような状況に遭遇したことがないため、この方法は試していません) config フォルダー
の下にある app.php の
'auto_multi_app' => false,
ログイン後にコピー
を
'auto_multi_app' => true,
ログイン後にコピー
に変更します。ただし、最新バージョンではこのコードは必要ありません。そうでない場合でも、これが原因ではないことを示すためにコードを変更する必要はありません。
考えられる理由 3: cmd のプロジェクト ディレクトリで実行します (www/tp ディレクトリにある必要があることに注意してください)
php think service:discover
ログイン後にコピー
考えられる理由 4:
composer require topthink/think-multi-app
ログイン後にコピー
ログイン後にコピー
これは同じコード cmd の実行場所が間違っています。通常の状況では、対応するコードの多くは www ディレクトリで実行されますが、マルチアプリケーション モードを有効にするコードはプロジェクト ディレクトリ
phpstudy_pro\WWW\tp>composer require topthink/think-multi-app
ログイン後にコピー
で実行する必要があります。このコードが正常に実行されるかどうか、プロジェクトのマルチアプリケーション モードが有効であるかどうか、tp ディレクトリで
php think build common
ログイン後にコピー
を実行できます。エラー
Command "build" is not defined.
ログイン後にコピー
が発生した場合は、マルチアプリケーション モードが有効になっていることを意味します。アプリケーションは正常に有効化されませんでした。複数のアプリケーションを有効にするには、tp ディレクトリでアプリケーションを再実行する必要があります。コードを適用するだけです。
推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHPコントローラーが見つからずエラーが報告される問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。