проблема с корзиной
#1
Отправлено 27 November 2013 - 11:49 AM
[27-Nov-2013 09:35:18 UTC] PHP Fatal error: Call to undefined function session_unregister() in /home/*******/public_html/*******/core/includes/processor/cart.php on line 45
Подскажите возможное решение проблемы......
#2
Отправлено 27 November 2013 - 03:40 PM
#3
Отправлено 27 November 2013 - 06:36 PM
Ваш хостер поставил PHP 5.4 вместо стоявшей ранее версии. В 5.4 этой функции нет.
==========
session_unregister() unregisters the global variable named name from the current session. Warning This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.
==========
Либо просите хостера как-то решить проблему (например, именно для вас откатиться на 5.3), либо исправляйте в коде ShopCMS обращения к этой функции на рекомендованную замену. Как я понимаю, можно заменить session_unregister('name') на unset($GLOBALS['name']). Но это не единственная радость от PHP 5.4, просто эту Вы первой заметили . Еще будет htmlencode(), насколько я помню.
PS. Хе-хе... посмотревши код ShopCMS вижу, что ничего исправлять не надо, а надо тупо удалить ВСЕ строки с вызовами session_unregister(), т.к. они дублируют те же строки, но с unset() .
#4
Отправлено 28 November 2013 - 02:46 AM
#5
Отправлено 28 November 2013 - 03:01 AM
#6
Отправлено 28 November 2013 - 10:44 AM
решил просто. всё снес и установил поновой
работает.
#7
Отправлено 28 November 2013 - 10:57 AM
ну если никаких доработок на сайте не делалось то это конечно вариант.как-то пол года назад возникла такая же проблема с корзиной. решил просто. всё снес и установил поновой работает.
#8
Отправлено 28 November 2013 - 12:05 PM
это например захожу index.php нахожу session_unregister и удаляю вызов?))) или опять не то?)Нужно удалить все вызовы session_unregister в php-файлах сайта. Таких файлов семь, насколько я помню.
доработки делались.... изменяли код для импорта товаров т.к версия php не совподала чтото в этом роде вроде... возможно изза этого и корзина перестала работать?ну если никаких доработок на сайте не делалось то это конечно вариант.как-то пол года назад возникла такая же проблема с корзиной. решил просто. всё снес и установил поновой работает.
#9
Отправлено 28 November 2013 - 01:45 PM
ИМХО, за это время уже десять раз можно было:это например захожу index.php нахожу session_unregister и удаляю вызов?
1. найти контекстным поиском файлы с session_unregister
2. сделать бэкап этих файлов
3. удалить в этих файлах все строки session_unregister(бла-бла-бла);
4. проверить, что это помогло
#10
Отправлено 28 November 2013 - 08:08 PM
В данном случае это никак не поможет, т.к. топикстартер выложил кусок лога (что редкость для начинающих), однозначно идентифицирующий проблему - Call to undefined function session_unregister(). Это встроенная PHP-функция и неожиданно стать undefined она могла только в одном случае - при смене версии PHP на более новую, где такой функции нет. В PHP 5.2 она была, в 5.3 она ЕЩЕ была (т.е. была объявлена deprecated), а в 5.4, что следовало ожидать, ее не стало. Как я понимаю, и появилась-то эта функция потому, что были какие-то терки и неувязки с функцией unset(), делающей примерно то же самое. Неувязки сошли на нет и избыточная функция была удалена из языка.как-то пол года назад возникла такая же проблема с корзиной. решил просто. всё снес и установил поновой
PHP вообще чем-то напоминает параолимпиский спорт. Язык живой, развивающийся, но на костылях .
#11
Отправлено 29 November 2013 - 12:38 PM