今天发生个很奇葩的事情,早上有个web网站的SSL证书到期,在成功续约之后,发现网站文章的内容竟然无法显示了,检查后发现竟然是php版本的问题。
服务器用的是nginx环境,在面板网站管理中显示的php版本是对的:如图
但是在nginx配置文件中发现,http下使用的是php5.4版本,而https使用的是php7.0版本,如图
应该是在加载SSL证书后我手动修改配置文件的时候,把这里的include enable-php-54.conf;
写成了include enable-php-70.conf;
(这里要吐槽下宝塔下针对https的配置问题,一定要这样跟http分开独立配置么?有空来查查看有没有更优的解决方案),而php7.0下,dedecms的文章内容调用标签{dede:field.body /}
是无效的。
所以,现在解决办法有两个:
一个是保持php7.0版本,修改文章内容调用标签{dede:field.body /}
为:
{dede:sql sql="Select body from `dede_addonarticle` where aid=~id~"}
[field:body/]
{/dede:sql}
第二个方法最简单,就是将nginx配置文件中的include enable-php-70.conf;
改成include enable-php-54.conf;
最后,全局重新生成一遍静态文章,此bug解决。