thinkphp-[Thinkphp]多模块多域名下配置 Smarty 模板引擎无效。

问题描述

[Thinkphp]多模块多域名下配置 Smarty 模板引擎无效。

下面是配置 如果我把APP_SUB_DOMAIN_DEPLOY去掉是可以启动Smart的。

Application/Common/Conf/config.php

return array(
        //'配置项'=>'配置值'
        'TMPL_ENGINE_TYPE'=>'Smarty',
        'MODULE_ALLOW_LIST'     =>  array(
                'Pc',
                'Wap',
        ),
        'DEFAULT_MODULE'        =>  'Pc',
        'APP_SUB_DOMAIN_DEPLOY'   =>    1, // 开启子域名或者IP配置
        'APP_SUB_DOMAIN_RULES'    =>    array(
                'test.wap.ldustu.com'=>'Wap',
                'test.ldustu.com'=>'Pc',
                 ),
        'URL_MODEL'=>1,  //url模式  pathinfo
        'URL_CASE_INSENSITIVE' => true, //URL不区分大小写
        'SESSION_AUTO_START' => true,//是否开启session
        'DB_TYPE'               =>  'mysql',     // 数据库类型
        'DB_HOST'               =>  $_SERVER['LDSN_HOST'], // 服务器地址
        'DB_NAME'               =>  $_SERVER['LDSN_DBNAME'],          // 数据库名
        'DB_USER'               =>  $_SERVER['LDSN_USER'],      // 用户名
        'DB_PWD'                =>  $_SERVER['LDSN_PASSWD'],          // 密码
        'DB_PORT'               =>  '3306',        // 端口
        'DB_PREFIX'             =>  'ldsn_',    // 数据库表前缀
        'DB_CHARSET'            =>  'utf8',      // 数据库编码默认采用utf8

    'TMPL_TEMPLATE_SUFFIX'=>'.tpl',
    'TMPL_ENGINE_CONFIG'=>array(
        'plugins_dir'=>'./Application/Tmpl/Plugins/',
        'template_dir'=>'./Application/Tmpl/Template/',
        'config_dir'=>'./Application/Tmpl/Config/',
        'left_delimiter'=>'{%',
        'right_delimiter'=>'%}'
    ),
);

下面是报错 test.wap.ldustu.com 明显还是自带的模板引擎

:(
模板不存在:./Application/Wap/View/Index/index.tpl
错误位置
FILE: /home/wwwroot/ldustu/server/ThinkPHP/Library/Think/View.class.php  LINE: 110
TRACE
#0 /home/wwwroot/ldustu/server/ThinkPHP/Library/Think/View.class.php(110): E('???????????????...')
#1 /home/wwwroot/ldustu/server/ThinkPHP/Library/Think/View.class.php(72): ThinkView->fetch('', '', '')
#2 /home/wwwroot/ldustu/server/ThinkPHP/Library/Think/Controller.class.php(56): ThinkView->display('', '', '', '', '')
#3 /home/wwwroot/ldustu/server/Application/Wap/Controller/IndexController.class.php(13): ThinkController->display()
#4 [internal function]: WapControllerIndexController->index()
#5 /home/wwwroot/ldustu/server/ThinkPHP/Library/Think/App.class.php(164): ReflectionMethod->invoke(Object(WapControllerIndexController))
#6 /home/wwwroot/ldustu/server/ThinkPHP/Library/Think/App.class.php(202): ThinkApp::exec()
#7 /home/wwwroot/ldustu/server/ThinkPHP/Library/Think/Think.class.php(120): ThinkApp::run()
#8 /home/wwwroot/ldustu/server/ThinkPHP/ThinkPHP.php(97): ThinkThink::start()
#9 /home/wwwroot/ldustu/server/index.php(24): require('/home/wwwroot/l...')
#10 {main}

解决方案

参考域名部署
按照你上面的配置,像是完整域名部署,完整域名部署支持三级域名吗?
你可以参考上面的链接,尝试按照子域名部署的方式设置,因为子域名部署包括任意级子域名的支持。

时间: 2024-12-03 19:01:32

thinkphp-[Thinkphp]多模块多域名下配置 Smarty 模板引擎无效。的相关文章

ThinkPHP使用smarty模板引擎的方法_php实例

ThinkPHP支持多种php模板引擎,可以根据个人需要加以配置. 下面我们以Smarty模板引擎为例,给大家说说具体的操作流程! 首先去Smarty官网上下载一个Smarty.本站下载地址:http://www.jb51.net/codes/16086.html. 接下来解压压缩包,会有两个文件夹:demo和libs.打开libs文件夹,复制所有内容. 接下来,打开你网站根目录 下thinkphp的文件夹.里面有个vendor文件夹,这个文件夹是TP调用第三方类库用的,把刚才复制的东西全部粘贴

在php中配置使用smarty模板引擎

Smarty是php的半官方模板引擎,从其主页位置就可以看出.使用简单,功能强大,本文就介绍一下smarty模板的安装和使用. 1) 现在模板的安装包,解压到根目录外的某个位置,比如解压到c:phpLibsmarty 2)修改 php.ini文件,配置include_path. 如此文中的配置为:include_path="c:phpLibsmartylibs"      注意,要把include_path前的分号去掉 3) 创建存放模板文件和配置文件的四个目录        temp

PHP使用Smarty模板目录结构配置

在使用PHP模板Smarty过程中,如果不涉及自定义目录结构的话,按照下面的目录组织就可以直接使用了(前提是需要阅读以下用户手册).          图上的每个目录都有了相应的说明,关于smarty的工作原理就是按照Smarty的语法规则编写模本文件,然后PHP脚本提供对应的数据,二者通过Smarty模板引擎最终输出可以展示的文件(包含格式+数据).     如下图是Smarty最基本的工作原理,当然Smarty还提供更多强大的功能.      接下来就是一个Hello Smarty的体验了.

Groovy模板引擎下(The MarkupTemplateEngine引擎细节介绍)

模板格式 1.1基础: 模板包含Groovy代码,下面详细具体的解析一下第一个样例: xmlDeclaration() (1) cars { (2) cars.each { (3) car(make: it.make, model: it.model) (4) } (5) } 1 渲染XML的声明字符串 2 打开一个cars标签 3 cars是模板数据模型的一个变量包含了所有的car实例 4 遍历每一项,从car实例创建car标签 5 关闭上述的cars标签 模板可以使用通常的Groovy代码,

配置文件-请问thinkphp中的Home 与Common下面的Conf有什么不同?

问题描述 请问thinkphp中的Home 与Common下面的Conf有什么不同? thinkphp中的Home 与Common下面的Conf目录下都有config.php,它们有什么不同? 解决方案 conf下面放的是相应模块配置文件,Common下放的是函数文件Function.php

ThinkPHP在Cli模式下使用模板引擎的方法_php实例

本文实例讲述了ThinkPHP在Cli模式下使用模板引擎的方法.分享给大家供大家参考.具体如下: 关于Cli模式与模版引擎,2.1中的手册是这样说明的: Cli模式默认不使用任何模板引擎(可以自己在操作方法里面调用): 但是怎么调用,手册中没有提到.于是自己动手丰衣足食. 在介绍怎么调用之前,简单的说说什么情况可能需要用到模块引擎: 1. 利用dompdf在计划任务自动生成PDF或HTML报告 2. 计划任务发送HTML类型的邮件 3. 后台自动生成静态页面 4. 其他关于模板的后台操作 <?p

thinkphp实现上一篇与下一篇的方法_php实例

本文实例讲述了thinkphp实现上一篇与下一篇的方法.分享给大家供大家参考.具体实现方法如下: 方法一: 复制代码 代码如下: //上一篇  $front=$Article->where("id<".$id)->order('id desc')->limit('1')->find();  $this->assign('front',$front);  //下一篇  $after=$Article->where("id>&quo

Nginx服务器下配置个性二级域名及多个域名的实例讲解_nginx

个性二级域名配置下个性化二级域名. 效果: 访问的URL http://custom.jb51.net 实际的URL http://www.jb51.net/auth/custom 我们的做法就是通过服务器配置,将访问的url转换为实际的url 下面我们来用nginx配置.配置如下: server { listen 80; server_name *.jb51.net; if ( $host ~* (\b(?!www\b)\w+)\.\w+\.\w+ ) { set $subdomain $1;

ThinkPHP官方举办第一期线下聚会活动

应对更迅捷.高效的开发要求 - 新起点的ThinkPHPThinkPHP开发者沙龙 第一期 北京站 ThinkPHP开发者沙龙是ThinkPHP官方举办的线下聚会活动,意在加强TPer的http://www.aliyun.com/zixun/aggregation/31093.html">技术交流,如果您想拓展丰满自己的技术领域.或者在实际项目中遇到了难以解决的问题,亦或者您对ThinkPHP有着独到的见解,都可以参与到我们的活动中,与广大TPer一起交流学习和分享.12月16日,Thin