【发布时间】:2018-08-07 07:52:28
【问题描述】:
我想运行放置在 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 服务器所必需的,我还尝试了一些来自 google 的示例,方法是修改 webroot 文件夹中的 .htaccess 文件以使其工作,但它抛出每次都出现同样的错误。
【问题讨论】:
-
尝试其他项目作为插件
-
我不确定这是否可行,但正如@Salines 所说,您可以通过创建一个或多个插件来满足您的需求,因为它们基本上是您主应用程序中的独立迷你应用程序。 Creating Your Own Plugins
-
感谢 #Salines 和 #BadHorsie 的建议,我会尝试这些步骤并测试它是否有效。
标签: cakephp cakephp-3.0 cakephp-3.x