首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >细枝用细框架渲染空页

细枝用细框架渲染空页
EN

Stack Overflow用户
提问于 2017-10-31 12:24:44
回答 3查看 541关注 0票数 3

我使用的是Twig模板引擎和瘦框架3

我的控制器内有一个简单的函数。

代码语言:javascript
运行
复制
public function test_twig($request, $response, $args) {
     return $this->view->render($response, "login.phtml");
}

当我在本地主机上运行这段代码时,它工作得很好,但是我在服务器上尝试了它,它显示了一个空页面,非常普遍的行为--页面没有动态变量--它只是HTML

我也试过这个:

代码语言:javascript
运行
复制
$str = $this->view->fetchFromString('<p>Hi, my name is {{ name }}.</p>', [
        'name' => "oussama"
    ]);
    $response->getBody()->write($str);
    return $response;

它在本地主机上工作,而在我的服务器上工作(,我在服务器中有PHP5.6)

在执行后,我在这里结束编译函数不能编译一个简单的HTML文件!

/** *编译模板源代码。**@返回字符串编译的PHP源代码**@在标记、解析或编译过程中出现错误时抛出Twig_Error_Syntax

代码语言:javascript
运行
复制
public function compileSource(Twig_Source $source)
{
    try {

        return $this->compile($this->parse($this->tokenize($source)));
    } catch (Twig_Error $e) {
        $e->setSourceContext($source);
        throw $e;
    } catch (Exception $e) {
        throw new Twig_Error_Syntax(sprintf('An exception has been thrown during the compilation of a template ("%s").', $e->getMessage()), -1, $source, $e);
    }
}

我确实遵循了代码,直到构造函数中的Twig_Lexer类完全在这一行中:

代码语言:javascript
运行
复制
   'operator' => $this->getOperatorRegex(),
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-01 14:44:08

我只是通过更改我的composer.json要求来实现这个目标:

"slim/twig-view": "2.0",将版本更改为2.0,因为它与PHP5.6一起工作

此外,如果您使用"~5.1“版本--它不起作用--我只是为数据库依赖项提供了一个严格的版本"5.4.36”,这是很有说服力的:

代码语言:javascript
运行
复制
"illuminate/database": "5.4.36"
票数 0
EN

Stack Overflow用户

发布于 2017-10-31 15:11:49

自v2.0.0版本以来,Twig就需要PHP7.0或更高版本。正如您已经说过的,您在远程服务器上有PHP5.6,它们不会一起工作。您可以在远程(如果可能的话)升级到PHP 7,或者将twig降级到v1.35.0,后者仍然支持PHP 5。

来源:

  1. https://packagist.org/packages/twig/twig#v2.2.0
  2. https://github.com/twigphp/Twig/blob/29bb02dde09ff56291d30f7687eb8696918023af/composer.json
票数 1
EN

Stack Overflow用户

发布于 2017-10-31 19:10:03

Twig 2.4需要PHP 7和更高版本。您的服务器不能满足这个要求,Twig也失败了。

我们需要通过设置自己的Twig依赖来覆盖默认的Twig依赖项。在项目conposer.json文件中添加一个Twig依赖项:

代码语言:javascript
运行
复制
"twig/twig":"^1.18"

告诉composer运行新配置并应用更改:

代码语言:javascript
运行
复制
composer update
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47035360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档