opencart提交订单时报错

opencart3 win7环境下安装 使用phpstudy集成(apache php7.2.10 mysql5.5)环境;
在提交订单是显示CGI / FastCGI 已停止工作;

clipboard.png

排查代码发现是 payment/code.php confirm 方法中以下代码异常

$this->model_checkout_order->addOrderHistory($this->session->data['order_id'], $this->config->get('payment_cod_order_status_id'))

但是在断点调试的时候发现奇怪问题:
在 code.php confim 方法中打印

echo $this->session->data['order_id'].'66666'.$this->config->get('payment_cod_order_status_id');
exit();

这里是能打印出来值的;

$this->model_checkout_order->addOrderHistory(6, 1);

在 model/checkout/order.php 重新定义 addOrderHistory 方法:

public function addOrderHistory($order_id, $order_status_id) {
    echo $order_id.'666666'.$order_status_id;
    exit();
}

clipboard.png

奇怪的是,$this->model_checkout_order->addOrderHistory(6, 1) 报错。

而 $this->model_checkout_order->addOrderHistory(7, 1)就正常打印,也就是说,第一个参数只要 <= 6 的时候,就会出现 CGI / FastCGI 已停止工作的提示!

刚开始怀疑是 mail() 类的问题,后台设置把 mail 关闭了也不行!

有遇到这种问题的同学吗?

阅读 2.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题