JAN 24 2016

PHP syntax error after SUPEE-7405 : unexpected [

Problem description

After SUPEE-7405 patch Sales Order Management screen in Magento Backend is blank or the following error is reported in PHP error log:
PHP Parse error: syntax error, unexpected '[' in app/code/core/Mage/Adminhtml/Helper/Sales.php on line 124


SUPEE-7405 is prepared with PHP 5.4 in mind, older PHP versions are incompatible with new language constructions used.


Change line 124 in app/code/core/Mage/Adminhtml/Helper/Sales.php from $links = []; to $links = array();:
--- app/code/core/Mage/Adminhtml/Helper/Sales.php
+++ app/code/core/Mage/Adminhtml/Helper/Sales.php

@@ -121,7 +121,7 @@
     public function escapeHtmlWithLinks($data, $allowedTags = null)
         if (!empty($data) && is_array($allowedTags) && in_array('a', $allowedTags)) {
-            $links = [];
+            $links = array();
             $i = 1;
             $data = str_replace('%', '%%', $data);

Posted in: Fatal errors

PHP syntax error after SUPEE-7405 : unexpected [
52 votes, 4.75 avg. rating (94% score)
  • Chris

    Thanks, That was a big miss from Magento.

  • http://www.yireo.com/ Jisse Reitsma

    Thanks for the post! I don’t consider this a really big miss from Magento though. If you want to keep Magento updated, it is at least as important to keep the rest of the stack updated as well. PHP 5.3 became deprecated 1,5 years ago (http://php.net/eol.php) and upgrading PHP 5.3 is vital for any Magento shop-owner, security-wise and performance-wise. This nasty Magento bug at least forces shop-owners in the right direction ;)