I am in the process of upgrading a Magento 1.8.1 installation to ver on a development server with PHP 7.0 using the blank template. Everything seems to work fine except during checkout, if I select either the Free Shipping method, or the UPS Free method method with minimum order amount set.

The checkout process proceeds normally until I submit the payment info in step 5, either Cash on Delivery or Paypal Payflow with Express Checkout (sandbox). If I try to change the shipping method in the right column "Your Checkout Progress" at that point, the free shipping method is not available, and the UPS Free method shows the normal shipping quote amount for that method (ground).

If I just go through the checkout process without changing anything: 1) If I chose the UPS free method with order amount above the threshold, where it showed $0 cost initially, it shows the normal quote amount (not free) for that method in order review, step 6. 2) If I chose the magento free shipping method, I receive an alert "Please specify a shipping method." and transaction failed email. Then I have the following error in my exception.log:

2018-12-22T00:11:02+00:00 ERR (3): 
Mage_Core_Exception: Please specify a shipping method. in MAGENTO_ROOT/app/Mage.php:595
Stack trace:
#0 MAGENTO_ROOT/app/code/core/Mage/Sales/Model/Service/Quote.php(303): Mage::throwException('Please specify ...')
#1 MAGENTO_ROOT/app/code/core/Mage/Sales/Model/Service/Quote.php(222): Mage_Sales_Model_Service_Quote->_validate()
#2 MAGENTO_ROOT/app/code/core/Mage/Sales/Model/Service/Quote.php(238): Mage_Sales_Model_Service_Quote->submitNominalItems()
#3 MAGENTO_ROOT/app/code/core/Mage/Checkout/Model/Type/Onepage.php(819): Mage_Sales_Model_Service_Quote->submitAll()
#4 MAGENTO_ROOT/app/code/core/Mage/Checkout/controllers/OnepageController.php(599): Mage_Checkout_Model_Type_Onepage->saveOrder()
#5 MAGENTO_ROOT/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Checkout_OnepageController->saveOrderAction()
#6 MAGENTO_ROOT/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('saveOrder')
#7 MAGENTO_ROOT/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#8 MAGENTO_ROOT/app/code/core/Mage/Core/Model/App.php(365): Mage_Core_Controller_Varien_Front->dispatch()
#9 MAGENTO_ROOT/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#10 MAGENTO_ROOT/index.php(83): Mage::run('', 'store')
#11 {main}

Other than that I have no other errors, including in my console or system.log

I can checkout with no problems with PHP 5.6.

1 Answer 1


The problem seemed like it was related to session handling. After seeing other people having session related errors before installing the PHP 7.2 patch, I installed it, and it solved the problem. So in my case the PHP 7.2 patch is required to run Magento CE on ANY version of PHP 7, including 7.0 and 7.1, despite what the documentation says.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.