PHPCMS二次开发,同样的代码 部署在不同环境下,运行效果不一样
原先系统是在PHPStudy环境下部署并开发的,做了一个页面,显示正常的,后来因为项目需要,需要部署到IIS的环境下,部署IIS后发现这个页面有一部分代码被输出了,原先写...
原先系统是在PHPStudy环境下部署并开发的,做了一个页面,显示正常的,
后来因为项目需要,需要部署到IIS的环境下,部署IIS后发现这个页面有一部分代码被输出了,原先写的循环读取数据后以表单展示,现在变成了一小部分代码直接显示在页面上,
代码原封不动,甚至两种环境同时运行,phpstudy正常,IIS不正常
页面也不报错,错误日志也没有提示,我在想会不会是我IIS没有部署正常,PHP版本5.6 以FastCgiModule方式部署的
另外,也想问一下,phpcms到底如何显示报错的? 已经开启了debug=1了 还是不会显示错误,甚至故意写错代码,也不会报错,这个让调试难度加大很多啊。
问题解决了,不是代码问题,也不是IIS设置问题。。。。答案是,PHP页面中<??>这样的代码是无法被IIS识别的,必须加php 完整格式<?php ?> 因为IIS不止要识别PHP,还有其他的编码需要识别 展开
后来因为项目需要,需要部署到IIS的环境下,部署IIS后发现这个页面有一部分代码被输出了,原先写的循环读取数据后以表单展示,现在变成了一小部分代码直接显示在页面上,
代码原封不动,甚至两种环境同时运行,phpstudy正常,IIS不正常
页面也不报错,错误日志也没有提示,我在想会不会是我IIS没有部署正常,PHP版本5.6 以FastCgiModule方式部署的
另外,也想问一下,phpcms到底如何显示报错的? 已经开启了debug=1了 还是不会显示错误,甚至故意写错代码,也不会报错,这个让调试难度加大很多啊。
问题解决了,不是代码问题,也不是IIS设置问题。。。。答案是,PHP页面中<??>这样的代码是无法被IIS识别的,必须加php 完整格式<?php ?> 因为IIS不止要识别PHP,还有其他的编码需要识别 展开
1个回答
展开全部
你使用了伪静态功能吗?如果使用 那么 不同环境 解析伪静态是不同的。需要修改。
IIS 下 新建一个httpd.ini 文件
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteEngine on
RewriteRule ^(.*)content-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/index.php?m=content&c=index&a=show&catid=$2&id=$3&page=$4
RewriteRule ^(.*)show-([0-9]+)-([0-9]+)-([0-9]+).html$ $1/index.php?m=content&c=index&a=show&catid=$2&id=$3&page=$4
RewriteRule ^(.*)list-([0-9]+)-([0-9]+).html$ $1/index.php?m=content&c=index&a=lists&catid=$2&page=$3
追问
没有写伪静态,是一个后台的功能,代码是创建一个数据库连接,获取所有类别的信息,然后写入一个select里,在IIS下,select没有显示,并且在页面中输出了一部分代码(就是直接在页面中显示了一部分代码),在phpstudy里是正常显示的也能运行代码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询