从DEV迁移到LIVE后,WooCommerce无法结账

时间:2016-01-09 作者:Samuel Robert James Webster

我花了一整天的时间在这件事上,我已经没有主意了。

https://www.thunderbrook.co.uk

我已经接管了一个旧网站的开发人员,该网站以cardinal的主题运行woocommerce。我不习惯使用如此密集的主题进行开发,所以我迁移到店面,重新开始。

我保留了所有的旧产品、订单等。

该站点运行良好,所以我从本地MAMP环境中备份了数据库和服务器上的实际文件,并将它们以zip格式上传到wordpress。

然后,我将旧站点移动到一个没有名称的随机文件夹中,并删除了数据库。

然后,我将新文件解压缩到网站根目录并导入数据库。

我已经更改了配置和选项文件,以获得正确的站点根目录、登录名等,它运行良好,除了。。。woocommerce无法完成付款。它可以让您一直选择付款,然后提供一个内部服务器错误。

控制台显示:

邮递https://www.thunderbrook.co.uk/checkout/?wc-ajax=checkout 500(内部服务器错误)发送@jquery。js:5m。延伸ajax@jquery。js:5b。提交@签出。最小js:1m。事件调度@jquery。js:4r。处理@jquery。js:4

我不知道如何继续,500是一个难以置信的常见错误,没有给出太多其他细节。

停用所有插件使我的主机崩溃,导致长时间停机。从那以后,我一个接一个地停用并重新测试,行为没有改变。。

有人知道我下一步该去哪里吗?

我确实检查了日志错误文件,得到了以下信息:

【2016年1月9日15:03:51 UTC】PHP致命错误:在/home/thunderbrook/public\\html/wp-content/plugins/woocommerce/includes/class-wc-checkout中对非对象调用成员函数add\\u product()。php在线222

自网站运行以来,该文件的这一行一直没有更改。

//将行项目存储到每个(WC()->cart->get\\u cart()的新/恢复订单,作为$cart\\u item\\u key=>$values){$item\\u id=$order->add\\u product($values[\'data],$values[\'quantity],$array(\'variation=>$values[\'variation],\'totals=>array(“subtotal”=>$值[\'line\\u subtotal],“subtotal\\u tax”=>$值[\'line\\u subtotal\\u tax],“total”=>$值[\'line\\u total],“tax”=>$值[\'line\\u tax\\u data]//自2.2起)));

除了jquery版本之外,我唯一的猜测是,我的产品数据库没有正确导入,所以现在它无法导入它正在寻找的所有字段或其他什么?

我尝试过使用各种产品,结果都一样。

2 个回复
SO网友:markratledge

我已经更改了配置和选项文件,以获得正确的站点根目录、登录名等

您是否更改了数据库中的所有URL,或仅更改了中的两个站点地址选项wp_options?

如果数据库中有旧的MAMP URL,这可能就是问题所在。看见WordPress Serialized PHP Search Replace Tool 正确更改数据库中的URL。不要更改文本转储中的URL;这将中断序列化数据。

SO网友:Prakash Rao

尝试以下步骤:

备份数据库site_url 并更换site_url 在整个MySQL文件中使用域的新siteurl值(find and replace option).

而不是更改site_url 仅在wp_options 最好找到并替换所有site_url\'s

相关推荐