2016-12-07 107 views
1

我正在尝试使用Kohana 3.3和Heroku开发应用程序。Kohana 3.3子目录控制器未载入Heroku

的主要问题是当我在子目录控制器作为遵循例子

目录名\的Class1 目录名\的Class2

Class2中延伸的Class1

然后我已路由设置到该位置,其在我的本地环境中工作得很好(在Ubuntu上使用Apache 2.4和PHP 5.6以及使用XAMPP的Windows进行尝试),但是当我尝试在Heroku上访问此路由时未能打开路由,但发现Class1未找到的错误。

我也试过更新htaccess,并更新路由文件几个时间与不同的选项,仍然在我的本地环境工作。但不可能让它在Heroku上运行。

这里是我使用这个路线:

Route::set('dashboard', 'dashboard(/<controller>(/<action>))') 
->defaults(array(
    'directory' => '/dashboard', 
    'controller' => 'Main', 
    'action' => 'index' 
)); 

所以,当我访问example.com/dashboard效果很好在Heroku上,但是当我试图example.com/dashboard/something则能够找到我试图访问的控制器(在本例中称为Controller_Dashboard_Something),但无法找到主控制器(名为Controller_Dashboard_Main)。再次在本地这是工作得很好,但在Heroku我不知道我做错了什么或它不能正确理解自动加载器....

所以任何人都可以帮助我会感激。

谢谢

回答

0

我找到了一种可能对他人有帮助的解决方法。这不是明智的解决方案,但它的工作原理。

我在Class2文件中添加了以下行。

require "Class1" 
0

dirname \ Class1中的控制器必须具有类名称Controller_dirname_Class1。所有部分对于Linux主机都是区分大小写的,这可能是Heroku中的问题,因为在Windows中这并不重要。