我刚刚安装了Laravel 4.2.7,并且在编译刀片模板时遇到了一些问题。
所以Laravel在HomeController
public function showWelcome()
{
return View::make('hello');
}
我决定在hello视图中添加一些变量:
public function showWelcome()
{
$data['test'] = 'hello world!';
return View::make('hello', $data);
}
然后......将文件名从hello.php
更改为hello.blade.php
,因为我想打印出变量test
。
一旦我刷新了Laravel附带的“你已经到达”页面的默认页面,它给了我一个例外:
Symfony\Component\Debug\Exception\FatalErrorException thrown with message "Call to undefined function Illuminate\View\Compilers\token_get_all()"
Stacktrace:
#1 Symfony\Component\Debug\Exception\FatalErrorException in /Applications/AMPPS/www/weinternship/laravel/vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php:118
#0 Illuminate\Exception\Handler:handleShutdown in <#unknown>:0
我曾与Laravel 4.1.28合作过,之前从未遇到过这个问题。我做错了什么?
修改
在我的hello.blade.php
的内容中我刚刚在<div class="welcome'></div>
答案 0 :(得分:2)
您的php版本未使用tokenizer编译。
http://us.php.net/manual/en/ref.tokenizer.php
您可能正在运行旧版本的PHP。这些函数在PHP 4.2.0中引入:
答案 1 :(得分:0)
我收到同样的错误,在打开php.ini文件时,我发现tokenizer扩展已被禁用。
extension=tokenizer.so
启用它,重启apache并且运行正常。
P.S我也遇到了Open ssl错误,我也启用了该扩展名:
extension=openssl.so