网站许久未更新,想要把拖了很久的文章补上,但是网站有各种问题出现,只能一一解决。
一、无妨更新wordpress版本
因为MySQL版本过低,无法更新至最新版本wordpress,还停留在6.4版本,同时也要对PHP版本进行更新。
- 备份网页文件及数据库
- “变更数据库”MySQL至5.7.25,因为使用的是虚拟机,这是目前能更新的最高版本
- 更新PHP版本,主题的问题更新到最新版本不支持,可更新到8.0.3
- FTP删除wp-config.php文件
- 域名进入重新安装wordpress并升级至最新版本
- 通过主机管理平台“网站搬家”导入数据库sql文件
- 进入后台会提示升级数据库到最新版本
二、遇到重定向问题
访问网站后台无法登录,后台总是http,前台是https。重新配置证书后,网站显示重定向过多,无法登录。
问题:
应该是之前是强制https,之前的CDN配置就有问题,因为可以访问,一直没有处理,趁这个机会重新配置CDN。
当 CDN 以 HTTP 协议回源,而源站配置了 HTTP→HTTPS 强制跳转时,会导致:
- 用户访问 CDN 加速域名(HTTPS);
- CDN 节点以 HTTP 协议回源到源站;
- 源站返回 301/302 响应,强制跳转到 HTTPS;
- CDN 节点再次以 HTTP 协议回源,形成循环
解决方法:
在CND控制台更改域名的回源协议为https,端口443
三、遇到图片上传的问题
图片上传的问题是之前就有的,也因此很久没有更新网站。因为一些遗留问题,图片部分在网站本地,部分在oss,之前用的oss插件已经7年未更新,出现了问题,图片不能自动上传到oss。
另外还有一个小问题,上传图片会直接存储到uploads文件夹根部,不以时间+月份形式组织,找了很多地方的原因,结果发现是wordpress后台媒体设置“以时间形式组织文件”的√不知道什么时候被去掉了,重新勾选上就可以了。
用了近期都在更新的两个oss插件,还是没办法上传到oss。最后直接使用oss的静态回源来实现,第一次通过oss访问图片,oss上没有该文件,就回回到本地文件夹找到该文件存储到oss。
这样设置有一个小麻烦,必须网页端请求了oss图片的链接,oss才会回源并存储,因此写文章时候直接上传图片,会显示不出图片。
设置如下:

但是问题是无法在wordpress删除媒体库的同时删除oss文件。编辑功能也不能同步,不过这个功能基本没用过,所以不重要。
同时新安装了图片压缩的插件Tiny PNG&JPG,之前都是在电脑端压缩好再上传,但是考虑到手机端更新文章的方便(手机端可以压缩但是每次都操作一遍很麻烦),还是将压缩放到服务器。OSS的压缩可以优化前端图片大小,为了节省网站空间,还是每次上传都压缩一遍吧。
Tiny PNG&JPG设置的是上传时压缩,实际测试和oss不冲突。
另外oss开启原图保护后没有在插件中使用阿里云的图片处理样式,关闭原图保护就可以。
为避免cnd缓存受影响,同时不想重新配置cnd,将缓存过期时间作了调整:

四、邮件无法发送的问题
另外邮件无法发送了。用的是QQ邮箱,QQ邮箱SMTP更新了,需要重新获得新版授权码。用代码和主题自带SMTP无法发送邮件,检查发现虚拟机stream_socket_client: Not Available被禁用,解决方法是使用 fsockopen 直接配置邮件(无需解禁函数),使用TSL加密,用587端口(之前是SSL加密,465端口)。
五、菜单改版
需求有变化,对主菜单进行了重新设置,另外主页的设置后期文章增加以后慢慢改。
评论 (0)