I am getting "Warning: shipping method required " on Step 4 of the checkout(error happens only sometimes) and have already done the cache:false, checked geozones and everything as per this thread but the issue still remains (deleted teh vqcache, system cache etc)
http://forum.opencart.com/viewtopic.php ... 58#p395258
Since the issue does not happen all the times, I have created an automation script to do checkout automatically and observed that it happens almost once in every 15 times
The issue never happened on another server(did checkout 200+ times )
Strange thing is its only appearing on one server but not on the other(with same code, vqmods,.htaccess etc)
Current version of opencart with issue - 1.5.5.1 (Please do not suggest to upgrade the cart as this would be the last resort and Ia m not sure if it would fix the issue since checkout.tpl etc did not change much from ajax post/get etc

Server with problem -
PHP version 5.2.6
Server where it works fine
PHP Version 5.3.13
Please let me know if any other detail is needed and hope that this thread would help others with the same issue
Since error happens from this block in shipping_method.php, looks like $this->session->data['shipping_methods'] is getting unset
Code: Select all
if (!isset($shipping[0]) || !isset($shipping[1]) || !isset($this->session->data['shipping_methods'][$shipping[0]]['quote'][$shipping[1]])) {
$json['error']['warning'] = $this->language->get('error_shipping');
}
Logs when it works fine
Code: Select all
2014/01/16 07:21:13:/var/site/public_html/index.php:15: get object from index: Array
(
[route] => checkout/shipping_method
[_] => 1389856877052
)
2014/01/16 07:21:13:/var/site/public_html/index.php:16: post object from index: Array
(
)
2014/01/16 07:21:13:/var/site/public_html/index.php:15: get object from index: Array
(
[route] => checkout/payment_address
[_] => 1389856877055
)
2014/01/16 07:21:13:/var/site/public_html/index.php:16: post object from index: Array
(
)
2014/01/16 07:21:14:/var/site/public_html/index.php:15: get object from index: Array
(
[route] => checkout/checkout/country
[country_id] => 223
[_] => 1389856877702
)
2014/01/16 07:21:14:/var/site/public_html/index.php:16: post object from index: Array
(
)
2014/01/16 07:21:14:/var/site/public_html/index.php:15: get object from index: Array
(
[route] => checkout/shipping_address
[_] => 1389856877790
)
2014/01/16 07:21:14:/var/site/public_html/index.php:16: post object from index: Array
(
)
2014/01/16 07:21:15:/var/site/public_html/index.php:15: get object from index: Array
(
[route] => checkout/checkout/country
[country_id] => 223
[_] => 1389856878673
)
2014/01/16 07:21:15:/var/site/public_html/index.php:16: post object from index: Array
(
)
2014/01/16 07:21:16:/var/site/public_html/index.php:15: get object from index: Array
(
[route] => checkout/shipping_method/validate
)
2014/01/16 07:21:16:/var/site/public_html/index.php:16: post object from index: Array
(
[shipping_method] => totalbased.totalbased_2
[comment] =>
)
2014/01/16 07:21:16:/var/site/public_html/catalog/controller/checkout/shipping_method.php:90 Inside validate of shipping_method.php
2014/01/16 07:21:16:/var/site/public_html/catalog/controller/checkout/shipping_method.php:142: Shipping object: Array
(
[totalbased] => Array
(
[title] => Total-Based Shipping
[quote] => Array
(
[totalbased_2] => Array
(
[id] => totalbased.totalbased_2
[code] => totalbased.totalbased_2
[title] => International Shipping
[cost] => 45.584
[tax_class_id] => 9
[text] => £45.58
)
)
[sort_order] => 2
[error] =>
)
)