Warning: syntax error, unexpected $end, expecting TC_DOLLAR_CURLY or TC_QUOTED_STRING or ‘»‘
После переезда на хостинг с PHP 5.3 вылезла ошибка в админке магазина
Warning: syntax error, unexpected $end, expecting TC_DOLLAR_CURLY or TC_QUOTED_STRING or '"' /language/en/admin/customers.ini on line 319 in template.php on line 737 Warning: The language file customers.ini couldn't be loaded. |
Решение ошибки показало что в /lib/templates/template.php используется функция parse_ini_file, которая загружает ini-файл, указанный в аргументе filename и возвращает его настройки в виде ассоциативного массива, т.е. ошибка в некорректно заполненном customers.ini, но при версии PHP 5.2 ошибка не возникала.
В PHP 5.3 произошли изменения в функции parse_ini_file:
Добавлен необязательный параметр scanner_mode. Одинарные кавычки теперь также могут быть использованы в присвоениях переменных. Символ решетки (#) теперь больше не может быть использован в качестве комментария и будет выбрасывать предупреждение о том, что данная возможность считается устаревшей.
Анализ файла customers.ini показал что ошибка была в лишней кавычке в одной из строк.
Т.е. если у вас вылезла подобная ошибка, то стоит внимательно перепроверить данные в ini файле на присутствие лишних символов.