今天在测试nilcms系统的时候,出现了一个报错,导致缓存无法更新:
file_put_contents(C:UPUPW_AP5.4vhostsd.tvNilCMS_APPinclude_run/config_site.php): failed to open stream: Invalid argument C:UPUPW_AP5.4vhostsd.tvNilCMS_20160520corecommon.php 129
测试环境使用的是win7 64位,使用UPUPW的环境套件。
生成文件使用的是file_put_contents函数,该目录下其他文件生成没有任何问题,只有config_site.php无法写入。纠结呀。。。
分析过程:
1.config_site.php 文件在nilcms系统运行前会直接加载,会不会影响了写入?经过测试加载文件,然后修改它,是没有任何问题的。
2.各种找问题,各种纠结,感到无语。
3.发现引入config_site.php 文件时使用的函数是require_once。改成require后发现,生成缓存没有问题了。问题解决。
一些备注:
1.使用自己搭建的wamp环境(XWAMP)没有遇到这样的问题。
2.使用linux虚拟主机环境也没有遇到这样的问题。
3.为什么更换这个函数能解决这个问题的原理,我不知道,知道的朋友可以分享下。
4.心情好很多了^_^