2015-04-01 44 views
1

有沒有辦法讓Perj Mojolicious :: Lite在OpenShift上工作而不會跳過箍環?這通常需要做什麼:Mojolicious_Lite_on_OpenShiftMojolicious在OpenShift上工作

支持perl的& Mojolicious上OpenShift有了很大的提高,在過去的幾年裏到如此地步,這似乎是一個簡單的點擊和安裝過程。然而,開箱即用,我無法讓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'failed,dump out app-root/logs/perl.log:

[Wed Apr 01 14:02:06 2015] [error] [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未能發現錯誤。

請注意,這個問題是特定於Openjhift環境中的Mojolicious!

+0

你有你的整個例子項目在github回購,我們可以看看或嘗試自己? (包括您的示例模板?) – 2015-04-01 18:45:35

+0

@ corey112358 - 我在原始文章中添加了更多信息,包括可以粘貼到index.pl的自包含代碼。 – Mbanzi 2015-04-01 21:42:06

回答

0

我認爲你缺少您運行index.pl文件作爲PSGI應用程序的一部分,請嘗試使用這個問題的答案(Can openshift/rhcloud variables be used in an .htaccess file)設置你的.htaccess文件,以便將路由/富url到你的index.pl所以它可以控制路線

+0

其實,我這樣做原來的帖子鏈接中提到:https://github.com/Nkawu/Mojolicious_Lite_on_OpenShift。我猜這是因爲我們被迫使用Apache? Mojo似乎在Heroku上運行起來更容易,尤其是因爲您可以使用不同的Web服務器。 – Mbanzi 2015-04-08 20:55:21