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.
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,
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!