昨晚,「老板」让我帮他解决一个问题,说是 WordPress 升级了 PHP 之后无法访问了,出现空白页面,当时已经晚上十点多了,准备睡觉,随便尝试了一下确实无法访问,也没有报错,返回码是 200,决定明天再弄吧
我出布想到的就是,在根目录建立一个测试文件输出看看,测试后没问题,说明服务器是可以正常解析的
然后想到 WordPress 应该有调试的功能,其实我不大熟 WordPress,只是需要用的时候会用而已,但这么流行的框架怎么可能没有调试功能,很快便找到,打开调试,刷新页面,果然错误就报出来了
这个错误大概就是「headers already sent by XXX」
为什么会有这样的错误呢,顺藤摸瓜,找到对应的报错位置,刚开始还看不出什么问题,但是再一次观察,终于发现了
红色框框便是罪魁祸首,多了一个空格
正常来说,多了一个空格并不会导致什么严重的问题,甚至不会出现任何错误,直到你使用了 header 函数设置 header,应为这个空格意味着一个输出,所以会有「headers already sent by XXX」的错误
好了,大概就是这样,做个记录,顺便帮助有需要的人