Xslateでテンプレート大きいと困った件 ←修正されました
CatalystでCatalyst::View::Xslateを利用しているとき、特定のページで表示できない場合があった。
特定のページは[% hoge %]を使っていないテンプレートで、サイズは47KB、Catalyst::View::TTを利用すると問題なくて、Catalyst::View::Xslateの場合表示できなくなる。
でcatalystテストサーバ起動時に表示されるデバッグログにも何も表示されずそのままな状態。
で、試しに問題のあるテンプレートをコピーして違う名前でアップロード、中身は同じの別名テンプレートで表示することにしてみた。
$c->stash->{template} = 'template/hoge/moge/mondaino.tt'; ↓ $c->stash->{template} = 'template/hoge/moge/mondaino1.tt';
そしたら..問題なく動いた。。。。。?
Text::Xslateで試してみた。
use utf8; use Text::Xslate; my $tx = Text::Xslate->new( # the fillowing options are optional. path => ['.'], cache_dir => "/tmp/.xslate_cache", cache => 1, syntax => 'TTerse', module => [ 'Text::Xslate::Bridge::TT2Like' ], ); my %vars = ( ); # for files print $tx->render('root/template/toppage.tt', \%vars);
1回目問題なく表示するも2回目でSegmentation fault
テンプレートを小さくしてみると2回目以降も問題なく表示された。
大きなテンプレートだと問題があるのかな?
http://hibari.2ch.net/test/read.cgi/php/1279999782/
IDにPerlが出たら神!PHPが出たらシメジ Part3
をテンプレートにしてみた。
テンプレートの中身を上記2chのソースをコピペしてテンプレートにしてみた。 ファイルサイズは32KB
1回目OKも2回目以降Segmentation fault
.ttcはキャッシュディレクトリに生成されている。
で、途中のレスをがんがん消して12KBまで落とすと、2回目以降も問題なく表示された。
環境はCentOS5.4、perl 5.8.8、Text::Xslateは$VERSION = '0.2008'
なんとなくうちだけの問題そうな気はする・・・ とりあえずは大きなテンプレート(1個だけだけど)はCatalyst::View::TTを使って動かしてる。
※2010年10月6日
http://d.hatena.ne.jp/gfx/20101006/1286363284
対応していただいたようです。 本件は修正されていますので問題なく利用できます!