Перейти к содержимому


проблема с корзиной


  • Вы не можете ответить в тему
Сообщений в теме: 10

#1 timack01

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений
Репутация: -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
Подскажите возможное решение проблемы......
  • 0

#2 timack01

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений
Репутация: -1
Начинающий

Отправлено 27 November 2013 - 03:40 PM

уже пробовал перезалить этот cart.php с бэкапа .. не помогает
  • 0

#3 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 27 November 2013 - 06:36 PM

Перезалейте версию PHP на предыдущую :).
Ваш хостер поставил 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() :).
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 timack01

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений
Репутация: -1
Начинающий

Отправлено 28 November 2013 - 02:46 AM

Я новичек в этих делах, и только начал работать с кодом, поэтому спрошу немного поподробней, мне нужно открыть файл core/includes/processor/cart.php и что -то в нём удалить?
  • 0

#5 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 28 November 2013 - 03:01 AM

Нужно удалить все вызовы session_unregister в php-файлах сайта. Таких файлов семь, насколько я помню.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#6 Funny_Corpse

    Пользователь

  • Пользователи
  • PipPip
  • 20 сообщений
Репутация: 0
Начинающий

Отправлено 28 November 2013 - 10:44 AM

как-то пол года назад возникла такая же проблема с корзиной.
решил просто. всё снес и установил поновой :)
работает.
  • 0

#7 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 28 November 2013 - 10:57 AM

как-то пол года назад возникла такая же проблема с корзиной. решил просто. всё снес и установил поновой работает.

ну если никаких доработок на сайте не делалось то это конечно вариант.
  • 0

#8 timack01

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений
Репутация: -1
Начинающий

Отправлено 28 November 2013 - 12:05 PM

Нужно удалить все вызовы session_unregister в php-файлах сайта. Таких файлов семь, насколько я помню.

это например захожу index.php нахожу session_unregister и удаляю вызов?))) или опять не то?)

как-то пол года назад возникла такая же проблема с корзиной. решил просто. всё снес и установил поновой работает.

ну если никаких доработок на сайте не делалось то это конечно вариант.

доработки делались.... изменяли код для импорта товаров т.к версия php не совподала чтото в этом роде вроде... возможно изза этого и корзина перестала работать?
  • 0

#9 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 28 November 2013 - 01:45 PM

это например захожу index.php нахожу session_unregister и удаляю вызов?

ИМХО, за это время уже десять раз можно было:
1. найти контекстным поиском файлы с session_unregister
2. сделать бэкап этих файлов
3. удалить в этих файлах все строки session_unregister(бла-бла-бла);
4. проверить, что это помогло
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#10 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 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 вообще чем-то напоминает параолимпиский спорт. Язык живой, развивающийся, но на костылях :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#11 timack01

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений
Репутация: -1
Начинающий

Отправлено 29 November 2013 - 12:38 PM

В общем ничего не помогло ничего не получилось...Скопировал на другой хостинг где можно менять версию PHP так там работает и на 5.3 и на 5.4 и даже на 5.2.....
  • 0