我在共享服务器(Siteground)上,并且由于我的WordPress PHP脚本花费了30秒钟以上,因此它返回504网关超时。
如果没有其他错误,查询是否可以运行并完成?
编辑:我问为什么我收到此错误给我的托管团队,在这里Siteground托管专家解释了此问题,如下所示:
我们在所有服务器上同时使用Apache + Nginx。Apache用于主要的Web服务,而Nginx用作反向代理和分布式缓存。当无法从缓存提供响应时(通常是指动态内容),Nginx会向Apache发送请求。这在Apache处理请求时将其转发到您的网站,并根据PHP逻辑可以完成MySQL查询或获取其他数据。如果此过程花费的时间太长,并且Apache没有及时将响应返回给Nginx,您将看到此错误。简而言之,Apache无法处理请求,因为应用程序确实在允许的时间内完成了该过程。这也意味着启动的过程很可能没有完全完成,并且某些数据/操作可能已经保存/执行。
专家说"initiated process most probably not completed fully"
,
我的方案的更多详细信息:我的脚本将使用wp_insert_post
方法的woocommerce产品添加到我的wordpress网站。添加产品后,它将显示新添加的产品的图像。
当我添加1个产品(40个变体)时,它完成并显示产品图片。当我添加6个产品(240个变体)时,我直接在浏览器中收到错误消息。
因此,为了进一步测试该问题,我修改了代码,并使用ajax重新编写了代码,并添加了像system这样的进程栏。(每个变体递增一个数字)。
运行1个产品(具有40个变体)的代码后,进程号增加到40,并显示产品图像。
当我为6种产品运行代码时,进程号增加到240,但它什么都不显示,当我检查时,它收到504错误。(jQuery.Ajax
功能错误部分)
因此,这使我认为该查询即使在超时时仍在运行,但是我仍然不能确定,并且由于504网关超时错误而正在寻找详细信息,因为对此没有很好的文档。