有没有办法让perl Mojolicious :: Lite能够在没有跳过篮球的情况下使用OpenShift?这通常需要做的事情:Mojolicious_Lite_on_OpenShift
支持perl& OpenShift上的Mojolicious在过去几年中已经有了很大的改进,以至于它似乎是一个简单的点击和安装过程。但是开箱即用,我无法让Mojolicious找到任何嵌入式模板,并且使用外部模板,它只会找到' /'路线的模板。
我使用的是一个非常简单的Mojo脚本:
use Mojolicious::Lite;
get '/' => 'index';
get '/foo' => sub {
my $self = shift;
$self->render(template => 'foo')
};
app->start;
第一条路线' ... rhcloud.com/'工作,显示./templates/index.html.ep
然而' ... rhcloud.com/foo'失败,转出app-root / logs / perl.log:
[Wed Apr 01 14:02:06 2015] [错误] [client 127.xxx.xxx.xxx]文件不存在:/ var / lib / openshift / 551b352b4382ec9a2800000a / app-root / runtime / repo / foo
过去我能够使用Mojolicious::Lite on OpenShift让Mojo工作,但这似乎不再适用。
最近有人能够让这个工作吗?
复制此问题的简单方法:
use Mojolicious::Lite;
get '/' => sub {
my $self = shift;
$self->render(template => 'index')
};
app->start;
__DATA__
@@ index.html.ep
INDEX
您应该收到无法找到index.html.ep的错误。
请注意,此问题仅适用于OpenShift环境中的Mojolicious!
答案 0 :(得分:0)
我认为您缺少将index.pl文件作为psgi应用程序运行的部分,尝试使用此问题的答案(Can openshift/rhcloud variables be used in an .htaccess file)来设置.htaccess文件,以便它将路由/ foo url到你的index.pl所以它可以控制路由