接手了一个N年前的PHP栈的网站,最近甲方提出需求,修改部分HTML文件中的内容,在修改的过程中,发现了一些问题,修改后网页不生效,还是原来的内容。重启nginx、php-fpm甚至重启服务器也无法生效。于是开始了一个php新手对thinkphp的探寻之路
-
修改网页不生效,重启也不行。
怀疑是改错了文件地方,但是再三确认,没问题。 -
近期升级了PHP,从5.7升级到了7.1 ?
确实这个是最大的可能性,因为之前修改html,立马刷新页面就OK的。 -
解决问题
PHP版本验证,没问题。怀疑缓存问题,查找了很多缓存相关设置,特别是opcache的设置,都无效。最终在打开了调试模式后,删掉了Application/Runtime/
文件夹之后,报错来了,竟然是无法写入。最终确认问题,php运行时,使用的用户为apache:apache;而文件夹的所属权限之前是nginx:nginx。原来是两个server之间的战争,让我这个无辜小白受到了牵连。。。 -
总结
造孽啊!!
一开始,就对缓存有所怀疑,但是由于自身水平受限,不理解php的缓存是放在文件内的,重启服务器发现内容未修改后,才意识到这个问题。但是还是由于水平不够,不知道thinkPHP的缓存是放在Runtime
文件夹内的,所以找了很多解决方案没搞定。最终还是打开调试模式,找到Runtime文件夹,定位问题。
但是
在之前网页内容是能够自动更新的,到了现在居然就不能自动更新了,必须手动删除Runtime文件夹下的内容,这仍然是一个未解之谜,希望在今后的学习中,再加深下对这个世界上最好的语言的理解。
为了改几个字,浪费掉了我的好几天,不过这次是学到了,希望世界上不要有我这么菜的同学了。
网友评论