首页 > 解决方案 > 如何运行放置在 cakephp 3 项目 webroot 中的 cakephp 3 项目

问题描述

我想运行放置在 cakephp3 项目 webroot 中的 cakephp3 项目

/example.com/
  bin/
  config/
  logs/
  plugins/
  src/
  tests/
  tmp/
  vendor/
  webroot/ 
     /uat/ (this is another project placed inside webroot)
       bin/
       config/
       logs/
       plugins/
       src/
       tests/
       tmp/
       vendor/
       webroot/ 
       ...
       ...
       ...
  .gitignore
  .htaccess
  .travis.yml
  composer.json
  index.php
  phpunit.xml.dist
  README.md

我正在尝试使用该地址访问另一个项目https://example.com/uat/index.php,但它会引发错误:-

未找到 Uat 类

2018-08-07 12:54:53 Error: [Cake\Routing\Exception\MissingControllerException] Controller class Uat could not be found.
Request URL: /uat/index.php
Stack Trace:
#0 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Http/ControllerFactory.php(72): Cake\Http\ControllerFactory->missingController(Object(Cake\Network\Request))
#1 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Http/ActionDispatcher.php(93): Cake\Http\ControllerFactory->create(Object(Cake\Network\Request), Object(Cake\Network\Response))
#2 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Http/BaseApplication.php(83): Cake\Http\ActionDispatcher->dispatch(Object(Cake\Network\Request), Object(Cake\Network\Response))
#3 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Http\BaseApplication->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner))
#4 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Routing/Middleware/RoutingMiddleware.php(62): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#5 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Routing\Middleware\RoutingMiddleware->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner))
#6 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Routing/Middleware/AssetMiddleware.php(93): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#7 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Routing\Middleware\AssetMiddleware->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner))
#8 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php(81): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#9 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Error\Middleware\ErrorHandlerMiddleware->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner))
#10 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Http/Runner.php(51): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#11 /home/corpveda/public_html/vendor/cakephp/cakephp/src/Http/Server.php(92): Cake\Http\Runner->run(Object(Cake\Http\MiddlewareQueue), Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#12 /home/corpveda/public_html/webroot/index.php(37): Cake\Http\Server->run()
#13 {main}

这是为我们的团队设置 UAT 服务器所必需的,我还尝试了一些来自谷歌的示例,方法是修改 webroot 文件夹中的.htaccess文件以使其工作,但每次都会抛出相同的错误。

标签: cakephpcakephp-3.0cakephp-3.x

解决方案


我认为这是你最好的选择:https ://book.cakephp.org/3.0/en/plugins.html


推荐阅读