最近遇到几个客户说,付款了,没弹出发货页面。

最开始我以为,客户是互联网新手,不懂如何操作。

但是接二连三、重复发生了这个情况,我意识到出问题了。

好在这几位朋友,情绪都很稳定,遇到了异常直接添加我微信说明了情况,也没发脾气,感谢。

 

我是怎么检查的呢?

1、检查网站主题的(正版)授权是否还在?

以前遇到过,授权不定期掉了,我得重新激活下授权。最近一年基本没掉了,这次也正常。

2、去主题售后群看看是否有人反馈这种情况

看下是我自己的问题,还是共性的。哎,没一个人反馈,那就不是主题模板的事了,是我的原因。

3、检查支付接口,都没毛病。

4、手动测试

打开3个新的浏览器,分别下单。付款后邮箱都能接到订单消息,但是依旧都不跳转。间隔5分钟后,才陆续跳转到发货页面。

这说明收款接口没问题,是缓存的问题。

 

回想一下,关于缓存,我前几天做三个设置:

php的两个扩展opcache和memcached,这俩肯定没问题,不再细说。

那就是最后一个了,当时我顺手安装了一个wp插件 WP Super Cache

这个插件也叫超级缓存,核心作用是把动态 PHP 页面变成静态 HTML 文件,大幅提速、降负载。

关键点找出来了

这个插件,就是导致 “付款成功但不跳转” 的元凶

因为这个插件,是:第一次访问生成静态 HTML → 之后直接给 HTML不跑 PHP、不查库,极快)

也有个重大的弊端:

  • 付款、订单、下载页都是动态页面,必须实时执行 PHP、读取订单状态、验证权限。
  • WP Super Cache 把它们变成了静态 HTML,导致:
    • 下单后页面不刷新、不跳转,停在原地
    • 下载链接不生成、不显示
    • 订单状态不更新

于是赶紧关闭了这个插件,再测试,一切终于正常了。

踩坑记录在此,为后来人指路。

声明:本站部分文章、信息、图片、软件等来源于互联网,由本网整理发表,希望传递更多信息和学习之目的。如设计、版权等问题,请立即联系管理员,我们会给予更改或删除相关文章,保证您的权利。