Jump to content

Fatal error на странице товара


Recommended Posts

Всем привет!

Внезапно возникла странная ошибка.
При открытии страницы с описанием любого товара получаю белый экран с надписью Fatal error.
При чем, Fatal error получается, только если пользователь не авторизован в магазине.
Если войти под учетной записью клиента, страница товара отображается нормально.

Все остальные страницы сайта работают нормально.

В чем может быть проблема?
Пробовал отключить все модули, установленные в последнее время - ничего не помогает.
Очистка кеша также не помогает.

P.S. Prstashop 1.6.0.9

 

UPD: При отключении модуля "Блок списка желаний" ошибка пропадает.

 

post-770713-0-25157400-1408877263_thumb.png

Edited by Sobolev (see edit history)
Link to comment
Share on other sites

Всем привет!

 

Внезапно возникла странная ошибка.

При открытии страницы с описанием любого товара получаю белый экран с надписью Fatal error.

При чем, Fatal error получается, только если пользователь не авторизован в магазине.

Если войти под учетной записью клиента, страница товара отображается нормально.

 

Все остальные страницы сайта работают нормально.

 

В чем может быть проблема?

Пробовал отключить все модули, установленные в последнее время - ничего не помогает.

Очистка кеша также не помогает.

 

P.S. Вчера изменил доменное имя. Но навряд ли в этом проблема!?

 

attachicon.gifСкриншот 2014-08-24 13.30.52.png

Включи отображение ошибок в defines.inc.php 

Link to comment
Share on other sites

Включи отображение ошибок в defines.inc.php 

 

Спасибо за подсказку, включил.

В итоге, получил огромный кусок кода, начало такое:

Array
(
    [0] => Array
        (
            [file] => /home/insecret/public_html/modules/blockwishlist/WishList.php
            [line] => 176
            [function] => displayError
            [class] => ToolsCore
            [type] => ::
            [args] => Array
                (
                )

        )

    [1] => Array
        (
            [file] => /home/insecret/public_html/modules/blockwishlist/blockwishlist.php
            [line] => 241
            [function] => getByIdCustomer
            [class] => WishList
            [type] => ::
            [args] => Array
                (
                    [0] => 
                )

        )

    [2] => Array
        (
            [file] => /home/insecret/public_html/classes/Hook.php
            [line] => 509
            [function] => hookProductActions
            [class] => BlockWishList
            [object] => BlockWishList Object
                (
                    [html:BlockWishList:private] => 
                    [id] => 65
                    [version] => 1.1.0
                    [database_version] => 
                    [registered_version] => 
                    [ps_versions_compliancy] => Array
                        (
                            [min] => 1.6
                            [max] => 1.6.0.9
                        )

                    [dependencies] => Array
                        (
                        )

                    [name] => blockwishlist
                    [displayName] => Блок списка желаний
                    [description] => Добавляет блок, содержащий списки желаний клиента.
                    [author] => PrestaShop
                    [module_key] => 
                    [description_full] => 
                    [additional_description] => 
                    [compatibility] => 
                    [nb_rates] => 
                    [avg_rate] => 
                    [badges] => 
                    [need_instance] => 0
                    [tab] => front_office_features
                    [active] => 1
                    [trusted] => 
                    [warning] => 
                    [enable_device] => 7
                    [limited_countries] => Array
                        (
                        )

                    [controllers] => Array
                        (
                        )

                    [_lang:protected] => Array
                        (
                        )

                    [_path:protected] => /modules/blockwishlist/
                    [local_path:protected] => /home/insecret/public_html/modules/blockwishlist/
                    [_errors:protected] => Array
                        (
                        )

                    [_confirmations:protected] => Array
                        (
                        )

                    [table:protected] => module
                    [identifier:protected] => id_module
                    [context:protected] => Context Object
                        (
                            [cart] => Cart Object
                                (
                                    [id] => 3
                                    [id_shop_group] => 1
                                    [id_shop] => 1
                                    [id_address_delivery] => 0
                                    [id_address_invoice] => 0
                                    [id_currency] => 1
                                    [id_customer] => 0
                                    [id_guest] => 4
                                    [id_lang] => 1
                                    [recyclable] => 0
                                    [gift] => 0
                                    [gift_message] => 
                                    [mobile_theme] => 0
                                    [date_add] => 2014-08-24 12:09:50
                                    [secure_key] => 
                                    [id_carrier] => 0
                                    [date_upd] => 2014-08-24 12:09:50
                                    [checkedTos] => 
                                    [pictures] => 
                                    [textFields] => 
                                    [delivery_option] => 
                                    [allow_seperated_package] => 0
                                    [_products:protected] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [id_product_attribute] => 836
                                                    [id_product] => 148
                                                    [cart_quantity] => 1
                                                    [id_shop] => 1
                                                    [name] => Gabriella Meggy 20den
                                                    [is_virtual] => 0
                                                    [description_short] => 

Отключил модуль "Блок списка желаний" - ошибка пропала.

 

Теперь непонятно, что вдруг случилось с этим модулем, почему он начал создавать ошибку?

Модуль на самом деле, не очень нужный...но все же, хотелось бы разобраться.

Link to comment
Share on other sites

Спасибо за подсказку, включил.

В итоге, получил огромный кусок кода, начало такое:

Array
(
    [0] => Array
        (
            [file] => /home/insecret/public_html/modules/blockwishlist/WishList.php
            [line] => 176
            [function] => displayError
            [class] => ToolsCore
            [type] => ::
            [args] => Array
                (
                )

        )

    [1] => Array
        (
            [file] => /home/insecret/public_html/modules/blockwishlist/blockwishlist.php
            [line] => 241
            [function] => getByIdCustomer
            [class] => WishList
            [type] => ::
            [args] => Array
                (
                    [0] => 
                )

        )

    [2] => Array
        (
            [file] => /home/insecret/public_html/classes/Hook.php
            [line] => 509
            [function] => hookProductActions
            [class] => BlockWishList
            [object] => BlockWishList Object
                (
                    [html:BlockWishList:private] => 
                    [id] => 65
                    [version] => 1.1.0
                    [database_version] => 
                    [registered_version] => 
                    [ps_versions_compliancy] => Array
                        (
                            [min] => 1.6
                            [max] => 1.6.0.9
                        )

                    [dependencies] => Array
                        (
                        )

                    [name] => blockwishlist
                    [displayName] => Блок списка желаний
                    [description] => Добавляет блок, содержащий списки желаний клиента.
                    [author] => PrestaShop
                    [module_key] => 
                    [description_full] => 
                    [additional_description] => 
                    [compatibility] => 
                    [nb_rates] => 
                    [avg_rate] => 
                    [badges] => 
                    [need_instance] => 0
                    [tab] => front_office_features
                    [active] => 1
                    [trusted] => 
                    [warning] => 
                    [enable_device] => 7
                    [limited_countries] => Array
                        (
                        )

                    [controllers] => Array
                        (
                        )

                    [_lang:protected] => Array
                        (
                        )

                    [_path:protected] => /modules/blockwishlist/
                    [local_path:protected] => /home/insecret/public_html/modules/blockwishlist/
                    [_errors:protected] => Array
                        (
                        )

                    [_confirmations:protected] => Array
                        (
                        )

                    [table:protected] => module
                    [identifier:protected] => id_module
                    [context:protected] => Context Object
                        (
                            [cart] => Cart Object
                                (
                                    [id] => 3
                                    [id_shop_group] => 1
                                    [id_shop] => 1
                                    [id_address_delivery] => 0
                                    [id_address_invoice] => 0
                                    [id_currency] => 1
                                    [id_customer] => 0
                                    [id_guest] => 4
                                    [id_lang] => 1
                                    [recyclable] => 0
                                    [gift] => 0
                                    [gift_message] => 
                                    [mobile_theme] => 0
                                    [date_add] => 2014-08-24 12:09:50
                                    [secure_key] => 
                                    [id_carrier] => 0
                                    [date_upd] => 2014-08-24 12:09:50
                                    [checkedTos] => 
                                    [pictures] => 
                                    [textFields] => 
                                    [delivery_option] => 
                                    [allow_seperated_package] => 0
                                    [_products:protected] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [id_product_attribute] => 836
                                                    [id_product] => 148
                                                    [cart_quantity] => 1
                                                    [id_shop] => 1
                                                    [name] => Gabriella Meggy 20den
                                                    [is_virtual] => 0
                                                    [description_short] => 

Отключил модуль "Блок списка желаний" - ошибка пропала.

 

Теперь непонятно, что вдруг случилось с этим модулем, почему он начал создавать ошибку?

Модуль на самом деле, не очень нужный...но все же, хотелось бы разобраться.

попробуй сбрось или обнови.

Link to comment
Share on other sites

попробуй сбрось или обнови.

Сбрасывать пробовал - результата нет.

 

Обновлять пока некуда, стоит последняя версия.

 

Больше ни у кого нет проблем с этим модулем в последнее время?

Link to comment
Share on other sites

Сбрасывать пробовал - результата нет.

 

Обновлять пока некуда, стоит последняя версия.

 

Больше ни у кого нет проблем с этим модулем в последнее время?

значит причина не в нём, попробуй версию с гитхаба от престы 1,6,0,10

https://github.com/PrestaShop/PrestaShop

Link to comment
Share on other sites

Версия с гитхаба работает также.

 

Подожду, может выйдет обновление какое-то в ближайшее время.

если также, то причина не в нём. 100%. тк у меня всё норм. смотрите в другую сторону)

Link to comment
Share on other sites

 

[file] => /home/insecret/public_html/modules/blockwishlist/blockwishlist.php

[line] => 241

ошибка здесь в строке 241, функция [function] => getByIdCustomer

Попробуйте залогиниться в магазине и проверить, либо наооборот, если залогинены то разлогиньтесь.

Link to comment
Share on other sites

ошибка здесь в строке 241, функция [function] => getByIdCustomer

Попробуйте залогиниться в магазине и проверить, либо наооборот, если залогинены то разлогиньтесь.

 

Если залогиниться - ошибка не возникает.

Проблема только тогда, когда не авторизированный посетитель просматривает товар.

Link to comment
Share on other sites

Если залогиниться - ошибка не возникает.

Проблема только тогда, когда не авторизированный посетитель просматривает товар.

Попробуй очисти кеш и куки за неделю и другой браузер.

Link to comment
Share on other sites

приложите этот файлик home/insecret/public_html/modules/blockwishlist/blockwishlist.php в ответ

Надо смотреть по файлам строки line и смотреть отчего ошибки.

Link to comment
Share on other sites

Адрес сайта insecret.com.ua

 

blockwishlist.php тут:

 

https://www.dropbox.com/s/uu2293s6jzor1lb/blockwishlist.php?dl=0

Щас рыца не могу, занят. смогу через пару дней. но я всё ещё уверен что виновен какой-то сторонний модуль. попробуй выруби кеш. вкл. перекомпиляцию. удали class_index

Link to comment
Share on other sites

Щас рыца не могу, занят. смогу через пару дней. но я всё ещё уверен что виновен какой-то сторонний модуль. попробуй выруби кеш. вкл. перекомпиляцию. удали class_index

Кэш выключать, и включать перекомпиляцию пробовал, без результата.

Также пробовал отключить все сторонние модули.

 

class_index где именно удаляется?

Link to comment
Share on other sites

Кэш выключать, и включать перекомпиляцию пробовал, без результата.

Также пробовал отключить все сторонние модули.

 

class_index где именно удаляется?

/cache/

Link to comment
Share on other sites

попробуйте заментить


$this->smarty->assign(array(
			'id_product' => (int)(Tools::getValue('id_product')),
			'wishlists' => WishList::getByIdCustomer($cookie->id_customer),
			));

на

if ($cookie->id_customer)
$this->smarty->assign(array(
			'id_product' => (int)(Tools::getValue('id_product')),
			'wishlists' => WishList::getByIdCustomer($cookie->id_customer),
			));

строка 239

Edited by savvato (see edit history)
  • Like 1
Link to comment
Share on other sites

попробуйте заментить


$this->smarty->assign(array(
			'id_product' => (int)(Tools::getValue('id_product')),
			'wishlists' => WishList::getByIdCustomer($cookie->id_customer),
			));

на

if ($cookie->id_customer)
$this->smarty->assign(array(
			'id_product' => (int)(Tools::getValue('id_product')),
			'wishlists' => WishList::getByIdCustomer($cookie->id_customer),
			));

строка 239

а смысл, если чистая преста нормально пашет.)

значит не тут касяк.

Link to comment
Share on other sites

попробуйте заментить

$this->smarty->assign(array(
			'id_product' => (int)(Tools::getValue('id_product')),
			'wishlists' => WishList::getByIdCustomer($cookie->id_customer),
			));

на

if ($cookie->id_customer)
$this->smarty->assign(array(
			'id_product' => (int)(Tools::getValue('id_product')),
			'wishlists' => WishList::getByIdCustomer($cookie->id_customer),
			));

строка 239

Как ни странно, - помогло!

 

Хотя, сам понимаю, что косяк может быть не тут. Модуль стандартный, и у всех работает...

Но, после добавления if ($cookie->id_customer) все работает нормально.

Спасибо за совет!

  • Like 1
Link to comment
Share on other sites

Разобрался!

Модуль: Список желаний (blockwishlist) файлик: blockwishlist.php

как выше писали 239я строка, вставить: if ($cookie->id_customer)

странно....нет у меня её и всё...

Link to comment
Share on other sites

как я и писал просто на гитхабе посмотреть)

 

Yes, when I researched I found this topic first.  Thank you for continued service to the community.

---google xlate :)

 

Да, когда я исследовал я нашел эту тему в первую очередь. Спасибо за продолжение служения общины.

Link to comment
Share on other sites

зато мы быстрее PrestaShop team пофиксили)))

еслибы всегда так)

Кстати заметил тенденцию замедления 1,4 к 1,6?

1,4 - 80мс

1,5 - 120мс

1,6 -200мс

главная чистая...

Link to comment
Share on other sites

зато мы быстрее PrestaShop team пофиксили)))

in the future please open forge report.  This allows fix to be incorporated into core and helps everyone.

 

убудуће молим те отвори фалсификује извештај. Ово омогућава фик да се угради у срж и помаже свима.

 

happy day!

  • Like 1
Link to comment
Share on other sites

еслибы всегда так)

Кстати заметил тенденцию замедления 1,4 к 1,6?

1,4 - 80мс

1,5 - 120мс

1,6 -200мс

главная чистая...

 

 

Недавно получилось протестить 1.6 на php 5.5, по сравнению с php 5.4 побыстрее стали страницы грузиться и админка.

 

А вообще престу нужно настраивать, отключать не нужные модули, модули сбора статистики, выводить нужные модули только на тех страницах где они действительно нужны. Отключать не нужные налоги, удалять полностью не нужные языки и т.д.

Edited by Kerm (see edit history)
Link to comment
Share on other sites

Недавно получилось протестить 1.6 на php 5.5, по сравнению с php 5.4 побыстрее стали страницы грузиться и админка.

 

А вообще престу нужно настраивать, отключать не нужные модули, модули сбора статистики, выводить нужные модули только на тех страницах где они действительно нужны. Отключать не нужные налоги, удалять полностью не нужные языки и т.д.

 

А какую  версию php лучше всего использовать?

И достаточно ли для изменения версии php просто переключить версию в панеле управления хостингом? Или надо еще что-то менять в престе?

Link to comment
Share on other sites

Ну если мы говорим о хостинге (Не о VPS или DDS), то достаточно просто в панели версию переключить. Лучше на данный момент использовать 5.5 версию.

  • Like 1
Link to comment
Share on other sites

Ну если мы говорим о хостинге (Не о VPS или DDS), то достаточно просто в панели версию переключить. Лучше на данный момент использовать 5.5 версию.

Спасибо, попробую.

 

Хотя, у меня на версии php 5.5 не работает автоматическое обновление через модуль "обновление в 1 клик"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...