true,"; 3. Run "php think service:discover"; 4. In the tp directory Just re-run the code to enable multiple applications."/> true,"; 3. Run "php think service:discover"; 4. In the tp directory Just re-run the code to enable multiple applications.">

Home  >  Article  >  Backend Development  >  How to solve the problem of php controller not being found and reporting an error

How to solve the problem of php controller not being found and reporting an error

藏色散人
藏色散人Original
2022-10-20 09:55:012458browse

Solution for PHP controller not found: 1. Check the controller folder in the original directory; 2. Modify "'auto_multi_app' =>true,"; 3. Run "php think service:discover "; 4. Re-run the code to enable multiple applications in the tp directory.

How to solve the problem of php controller not being found and reporting an error

The operating environment of this tutorial: windows7 system, thinkphp v6 version, Dell G3 computer.

How to solve the problem of php controller not being able to find the error?

TP6 multi-application module error not finding the controller

The main content is still the error reporting problem that occurs when changing a single application module to a multi-application module. It is aimed at newbies who have not learned the system.

When running the multi-application module in cmd

composer require topthink/think-multi-app

no error is reported, but the project still cannot be opened. Error

#0 [0]HttpException in Controller.php line 76

The controller does not exist: app\controller\Index

At this time, app\controller\ indicates that it is still in single application mode, and multiple applications have not been successfully opened. .

Possible reason 1: Delete the controller folder in the original directory, because if this file exists, the project will directly search for this file first, thinking that it is still a single application project and will not carry out multi-application projects.

Possible reason 2: (I have never encountered this situation, so I have not tried this method) Change

'auto_multi_app'   => false,

to

'auto_multi_app'   => true,
in app.php under the config folder

But in the latest version, this code is not needed. If not, there is no need to change it to indicate that this is not the reason.

Possible reason 3: Run in the project directory in cmd (note it must be in the www/tp directory)

php think service:discover

Possible reason 4:

composer require topthink/think-multi-app

This is the same code The running location in cmd is wrong. Under normal circumstances, many corresponding codes are executed in the www directory. However, the code to enable multi-application mode should be executed in the project directory

phpstudy_pro\WWW\tp>composer require topthink/think-multi-app

. Test whether this code runs successfully. , whether the project multi-application mode is enabled, you can run

php think build common

in the tp directory. If an error

Command "build" is not defined.

occurs, it means that the multi-application was not successfully enabled, and you need to re-run it in the tp directory to enable multiple applications. Just apply the code.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to solve the problem of php controller not being found and reporting an error. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn