部署后页面打不开是win10系统的原因吗

#1 dongxu0139

使用wamp在win7下部署成功运行的系统,拷贝到win10系统下,访问首页http://localhost/lh/index.php?c=main&a=login,出现页面空白,

查看网络请求无报错,跟踪发现执行到了controller/main.php里的login方法中的$this->display("index/main_login.html"),

后续执行到了spController.php的display方法,然后是spView.php的display方法,然后是Smarty.class.php的display方法,然后就没有然后了,

spConfig.php中数据库配置没问题,'mode' => 'debug'设为调试模式,并打开'debugging' => TRUE,效果见下面的提示信息,我没看出来什么问题,

另外搜了论坛看了文档,有人提到是文件夹没有写权限,我看了下win10系统的wamp/www/lh文件夹确实是只读权限,搜了一圈百度也没试出怎么改回可写,今天搞了一天都没解决,难道要换系统?



Smarty Debug Console  -  Total Time 0.00572included templates & config files (load time in seconds)  E:\software\wamp\www\lh/tpl\index/main_login.html     (compile 0.00000) (render 0.00015) (cache 0.00000)   

assigned template variables[table]
           [tr]          [td]$SCRIPT_NAME[/td]       [td]Smarty_Variable Object (3)
->value = "/lh/index.php"
->nocache = false
->scope = "Global"[/td][/tr]
    [/table]assigned config file variables (outer template scope)

2017-10-09 18:41:07

#2 jake

php的模板引擎,包括smarty,的确是要求文件夹可写的。试试google一下?
错误日志最好看服务器自带的log,能查出问题。

另外,windows从来都不是部署php的最佳环境,调试用用还可以。

如果是调试,建议用xampp,并且把目录放在用户目录里面,应该是可写的。

2017-10-10 08:39:28

#3 dongxu0139

jake大大,有可能是中间这个 \ / 的原因吗?

E:\software\wamp\www\lh/tpl\index/main_login.html  

2017-10-10 12:00:18

#4 jake

dongxu0139 发表于 2017-10-10 12:00
jake大大,有可能是中间这个 \ / 的原因吗?

E:\software\wamp\www\lh/tpl\index/main_login.html   ...
这个没有问题的,windows可以支持两种斜杠,
如果觉得疑惑可以复制粘贴这个地址到explore里面打开,会发现文件是正常打开的。


你的问题,建议是要么看看服务器软件的错误日志,确定问题。要么就检查写模板目录的权限。

2017-10-10 14:39:01

#5 dongxu0139

Apache、PHP、Mysql日志都没有报错,模板目录还没找到办法更改权限,我再换个系统试试吧,只是奇怪,要是目录没有权限,看代码应该有很明显的提示的。。。

2017-10-10 14:45:27

#6 jake

dongxu0139 发表于 2017-10-10 14:45
Apache、PHP、Mysql日志都没有报错,模板目录还没找到办法更改权限,我再换个系统试试吧,只是奇怪,要是目 ...
是的,不过从你一开始说就是白屏的情况看,你的代码和服务器本身(这个是重点!),都已经关闭了错误输出,所以找提示只能到服务器配置的log目录去找。

记得了,服务器本身也会被配置成不显示错误的,甚至不写错误日志也会有,或者写到别的地方。所以建议看看服务器配置。
BTW,win10有那么难改目录权限吗?直接改成所有人可读写就行了吧?。

另外,还是那句话,windows从来不是运行php的好环境,会有很多古怪的问题,建议换了。

2017-10-10 14:56:40