在生产服务器上呈现布局

时间:2017-07-12 15:58:14

标签: zend-framework zend-framework3 zend-layout

我的productionserver无法呈现我的loginlayout。在我的开发系统上,一切正常。

以下是制作网站上的错误:

  

致命错误:未捕获的Zend \ View \ Exception \ RuntimeException:Zend \ View \ Renderer \ PhpRenderer :: render:无法渲染模板" layout / layoutlogin"

我是怎么做到的:

我的Application/config/module.config.php给出了以下模板:

'view_manager' => [
        'display_not_found_reason' => true,
        'display_exceptions'       => true,
        'doctype'                  => 'HTML5',
        'not_found_template'       => 'error/404',
        'exception_template'       => 'error/index',
        'template_map' => [
            'layout/layout'           => __DIR__ . '/../view/layout/layout.phtml',
            'layout/layoutlogin'      => __DIR__ . '/../view/layout/layoutlogin.phtml',
            'application/index/index' => __DIR__ . '/../view/application/index/index.phtml',
            'error/404'               => __DIR__ . '/../view/error/404.phtml',
            'error/index'             => __DIR__ . '/../view/error/index.phtml',
        ],
        'template_path_stack' => [
            __DIR__ . '/../view',
        ],
    ],

在我的Indexcontroller中,我将Layout设置为:

$this->layout()->setTemplate('layout/layoutlogin');

那可能会做我想要的!?在开发环境的开发模式中,我没有得到任何错误和警告。任何想法都赞赏!

2 个答案:

答案 0 :(得分:0)

您可以尝试这种方式

#include <vector> // for std::vector
#include <numeric> // for std::accumulate
#include <algorithm> // for std::next_permutation and std::max
using namespace std;

这实际上意味着您使用的布局不是默认布局,然后在此布局中您可以使用您想要的模板。

答案 1 :(得分:0)

错误已解决。实际上这是一个服务器配置问题。在这种情况下,Apache没有足够的文件夹权限

  

数据/高速缓存