我花了一整天的时间在这件事上,我已经没有主意了。
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版本之外,我唯一的猜测是,我的产品数据库没有正确导入,所以现在它无法导入它正在寻找的所有字段或其他什么?
我尝试过使用各种产品,结果都一样。