今天在測試nilcms系統的時候,出現了一個報錯,導致緩存無法更新:
file_put_contents(C:\UPUPW_AP5.4\vhosts\d.tv\NilCMS_APP\include_run/config_site.php): failed to open stream: Invalid argument C:\UPUPW_AP5.4\vhosts\d.tv\NilCMS_20160520\core\common.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.心情好很多了^_^