Kohana 3.3子目录控制器未在Heroku

时间:2016-12-07 00:36:00

标签: php .htaccess heroku routes kohana-3.3

我正在尝试使用Kohana 3.3和Heroku开发应用程序。

主要问题是我在子目录中有控制器,如下例所示

目录名\的Class1 dirname \ 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上我不确定我做错了什么或者它没有正确理解自动加载器......

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

由于

2 个答案:

答案 0 :(得分:0)

我找到了一个可能对其他人有帮助的解决方法。这不是明智的解决方案,但它确实有效。

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

require "Class1"

答案 1 :(得分:0)

dirname \ Class1中的控制器必须具有类名Controller_dirname_Class1。所有部分对于linux托管都是区分大小写的,这可能是Heroku中的问题,因为在Windows中这没关系。