生涯未熟

生涯未熟

プログラミングをちょこちょこと。

Laravel4.2+HHVMでのバグっぽい挙動

ちょっと面白い現象に遭遇したので、日本語での共有をば。


現在、Laravel4.2とHHVMで開発をしていたのですが、その際に何故かblade.phpの{{{ }}}や{{ }}がに置換されないという問題を発見しました。


何故そのようなことが起こるかというとvendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php
compileEchos関数の引数として本来であればblade.phpの中身がまるっと渡されるはずなのですが、
確認してみると中途半端なところで途切れた状態で渡されていました。


最初はLaravelのバグかと思いましたが、githubのissuesを調べてみると以下のissueが。

https://github.com/laravel/framework/issues/4519


どうもHHVMのせいっぽいなーと思ったので、試しにapacheでやってみると
確かに正常に動作しました・・・



これに関してはHHVMの方で何とかしてもらうか別のWebサーバソフトを使うかの選択肢しか
ないですので、HHVMをどうしても使いたい!という方はHHVMのissuesを逐一確認した方がいいかもしれません。


[追記]
先ほどのlaravelのissueを立てていた方が、HHVMの方でも同じ質問を投げられていました。
HHVMを使われる方はウォッチしとくといいかも。

https://github.com/facebook/hhvm/issues/2807


[更に追記]
対応完了したようです!