关于phpcms v9中程序传到linux出现模板异常的问题

问题描述:网站在windows上编写完毕后一切正常,当把程序上传到服务器中后出现找不到模板到问题。

经过层层查找发现是phpcms/lib/classes/template_cache.class.php中函数template_compile出现异常。

我有如下模板文件:phpcms/templates/default/member/sy/index.html,但经过模板解析函数template_compile处理后却跑到phpcms/plugin/目录下去找模板,这肯定是找不到到。于是修改这个模板解析函数。

原来的条件判断第三部分代码如下:

$plugin = str_replace(‘plugin/‘, ‘‘, $module);
$module = str_replace(‘/‘, DIRECTORY_SEPARATOR, $module);
$tplfile = $_tpl = PC_PATH.‘plugin‘.DIRECTORY_SEPARATOR.$plugin.DIRECTORY_SEPARATOR.‘templates‘.DIRECTORY_SEPARATOR.$template.‘.html‘;

修改为:

$modules=explode(‘/‘,$module);
$tplfile = $_tpl = PC_PATH.‘templates‘.DIRECTORY_SEPARATOR.$style.DIRECTORY_SEPARATOR.$modules[0].DIRECTORY_SEPARATOR.$modules[1].DIRECTORY_SEPARATOR.$template.‘.html‘;

此时就解决了。

至于为什么windows下原来的模板解析没问题,而一到linux服务器就出问题,我也不知道为什么。

时间: 2024-10-11 20:35:54

关于phpcms v9中程序传到linux出现模板异常的问题的相关文章

phpcms v9 中 PHPSSO无法通讯解决方法(PHPSSO无法通讯间接影响phpcms v9注册会员无法通过“重名无法通过”)

问题的由来 怎么样使用 Cocos2d-x 快速开发游戏,方法很简单,你可以看看其自带的例程,或者从网上搜索教程,运行起第一个HelloWorld,然后在 HelloWorld 里面写相关逻辑代码,添加我们的层.精灵等 ~ 我们并不一定需要知道 Cocos2d-x 是如何运行或者在各种平台之上运行,也不用知道 Cocos2d-x 的游戏是如何运行起来的,它又是如何渲染界面的 ~~~ 两个入口 程序入口的概念是相对的,AppDelegate 作为跨平台程序入口,在这之上做了另一层的封装,封装了不同

phpcms v9中 action="position" 和action="lists"有什么区别, 以及action 的属性和值

action值的含义: lists 内容数据(文章?)列表 relation 内容相关文章 hits 内容数据点击排行榜 category 内容栏目列表 position 内容推荐位列表 phpcms v9中 action="position" 和action="lists"有什么区别, 以及action 的属性和值,布布扣,bubuko.com

PhpCms V9中的{date('Y-m-d',$r[inputtime])}问题解决方法

不少朋友会碰到这个问题:在PhpCms V9中的首页或者文章内容页调用发布时间{date('Y-m-d',$r[inputtime])}调用显示1970-01-01,然后尝试用截断的方法也没有成功,应怎么办? 有朋友建议“先转换成时间格式,在截取吧”,具体代码为“{str_cut($inputtime,12,$dot='')}”,还有人说“{$updatetime} 直接用这个调用就好了”,但是很多朋友还是没有成功! 下面我来具体说明下调用不成功的真实的原因,以及解决方法! 第一,或许你是没有正

phpcms v9中某些默认的文件路径

{IMG_PATH}v9  即wwwroot\statics\images\v9 {CSS_PATH}default_bule.css   即wwwroot\statics\css\default_bule.css m表示模块名wwwroot\phpcms\modules下的文件夹 c表示控制器名phpcms/modules/模块/*.php a表示事件名phpcms/modules/模块/*.php 中方法名称 phpcms v9中某些默认的文件路径,布布扣,bubuko.com

phpcms v9附件上传后显示链接名称如何改为附件名称?

使用phpcms v9的朋友都知道,v9在后台添加内容的时候上传附件显示的是一个链接,这样太不人性化了,那怎么显示文件名称呢 ?小编以前发布文章的时候都是上传后复制链接在给文字加上超链接的,这样非常的麻烦,今天 B5教程网站长今天告诉大家一个解决办法. 具体怎么修改,可以看一下这篇文章http://www.bcty365.com/content-101-2861-1.html

如何调用phpcms v9中的广告中的具体数据

phpcms v9的广告模块具有很大的灵活性,使用默认的那些模板已经可以得到一些很实用的广告效果,但是如果是自制的类似jQuery切换广告之类的情况,系统自带的调用方法就无法满足要求了,那么这种时候就需要调用广告中的具体数据,如:直接调用图片列表中的图片地址和链接.其实方法很简单,当广告数据表为默认时,调用代码: {pc:get sql="SELECT setting FROM v9_poster WHERE spaceid = 12 AND type='images' AND disabled

PHPCMS v9本地网站上传到空间,要修改的地方小结.

1.第一步就是修改数据库文件.数据库是整个网站的核心,也是最重要的.如下 a.把本地的数据库导出为php.sql(会数据库的应该都会导出和导入) b. 打开php.sql文件.查找127.0.0.1,批量替换为网站域名(比如meinv520.cn),[注意:千万不要加上http://,像这样http://meinv520.cn是错误的,因为phpcms会默认给你加上http头],这里大概有400多个替换项.完成关闭. 2. 修改完数据库里面的域名,我们这时就要修改数据库配置文件(database

phpcms v9中调用栏目及调用多个子栏目中的文章列表

调用一个指定栏目列表: {pc:content action="lists" catid="6" order="id DESC" num="4"}              {loop $data $key $val}                 {$val['title']}                         {/loop}           {/pc} 调用同栏目下多个子栏目列表: {php  $sub

phpcms v9中 action="position" 和action="lists"有什么差别, 以及action 的属性和值

action值的含义: lists 内容数据(文章?)列表 relation 内容相关文章 hits 内容数据点击排行榜 category 内容栏目列表 position 内容推荐位列表