Перенос. Редиректит на старый ip

Автор BSD-shnik, 04 июля 2015, 19:37:09

« назад - далее »

BSD-shnik

Доброго времени!

Prestashop 1.6

Перенёс Престу с виртуалки на железо. База, файлы, юзеры, пароли, пермиссии, всё ОК. Но после ввода адреса, смотрелка лезет на ip виртуалки.
В settings.inc.php соответствующей опции нет. В логах пусто.

В инспекторе смотрелки:

Ошибка синтаксического анализа XML: неопределённое состояние синтаксического анализатора

Глюк смотрелки исключаю любые другие страницы ОК, и с виртуалки всё корректно.

Прошу помочь разобраться.
Спасибо. 

DarinSr


BSD-shnik

#2
DarinSr   Спасибо!  :)  Базу поправил. ps_shop_url  PS_SHOP_DOMAIN и PS_SHOP_DOMAIN_SSL изменил   Сайт грузится

Следующий трабл: Вход в админку - белый экран.
В логе
"PHP message: PHP Fatal error:  Call to undefined function simplexml_load_string()

В каком файле прописана simplexml_load_string() ?  :-\

Файлы в наличии, пермиссии правильные. Используются APC & Memcache
Кэш Prestashop на виртуалке был отключен. Копировал без кэша.





DarinSr

Нужно установить расширение для PHP SimpleXML.

coder

Цитата: DarinSr от 05 июля 2015, 12:29:46
Нужно установить расширение для PHP SimpleXML.
И проверить установку расширения hash.
Оба должны быть установлены.

BSD-shnik

Да, действительно. Указанные Вами расширения небыли установлены.

Установил, перезапустил php-fpm, проверил phpinfo, ОК!.  :)

Захожу в админку и на остальные страницы. Спасибо!!!

В процессе трабла, включил отображение ошибок смотрелкой. На главной вижу:

Notice: Undefined index: cms in ./prestashop/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()'d code on line 34
Notice: Trying to get property of non-object in prestashop/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()'d code on line 34


Видимо, упущено ещё что-то.  Посоветуйте решение.

Mr.Sen

Попробуй в ручную удалить все файлы из кеша:
/cache/smarty/compile/
/cache/smarty/cache/

BSD-shnik

#7
/cache/smarty/cache/ - пустая, только index.php
/cache/smarty/compile/ - очистил, (кроме index.php)

Безрезультатно. Те-же ошибки.


Adik

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

Миколас

Что-то со страницами смс неправльно. Удали их и создай заново.

BSD-shnik

#10
Отключил все страницы СМС, и модуль блок СМС.

Ошибки без изменений. Продолжаю поиск проблемы. Насколько я понял,
smarty_internal_templatebase.php(157) : eval()'d code on line 34

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

Ошибка при обработке этого куска :

  /** @var Smarty_Internal_Template $_smarty_tpl
                 * used in evaluated code
                 */

                 ...

else {
                    if (!$_template->compiled->exists || ($_template->smarty->force_compile && !$_template->compiled->isCompiled)) {
                        $_template->compileTemplateSource();
                        $code = file_get_contents($_template->compiled->filepath);
                        eval("?>" . $code);
                        unset($code);
                        $_template->compiled->loaded = true;
                        $_template->compiled->isCompiled = true;
                    }


После ручного удаления кэша структура папок /cache/smarty/compile создана вновь. Т.е пермиссии достаточные. Что ещё может мешать обработке?


VictorD

ЦитироватьЧто ещё может мешать обработке?
Нет каких-то расширений php GD, cURL, SimpleXML, SOAP....
Нет нужных пакетов MemCached, mcrypt PHP extension...
Нет места на диске или запрещен доступ к папке кеширования.
Проверить нужно хостинг на требования prestashop.

BSD-shnik

Тема продолжается, всё дальше отклоняясь от сабжа:

Причина обнаружена. Ошибки при обработке блока баннеров.

Блок был изменён, для отключения баннера на некоторых страницах. Убираю дописанное, ошибки исчезают. 

modules/blockbanner/blockbanner.tpl


{if $cms->id != '4' and $cms->id != '1' }   - это
  <a href="{if $banner_link}{$banner_link|escape:'htmlall':'UTF-8'}{else}{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}{/if}" title="{$banner_desc|escape:'htmlall':'UTF-8'}">
    {if isset($banner_img)}
        <img class="img-responsive" src="{$banner_img|escape:'htmlall':'UTF-8'}" alt="{$banner_desc|escape:'htmlall':'UTF-8'}" title="{$banner_desc|escape:'htmlall':'UTF-8'}" width="1170" height="65" />
    {else}
        {$banner_desc|escape:'htmlall':'UTF-8'}
    {/if}
  </a>
{/if} - и, соответственно, это


Но почему ошибки? Что неправильно?

Каким ещё образом можно отключать баннер на страницах 4 и 1?


mAgency

{if $banner_link}
В настройках модуля баннера какие ссылки указаны?
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

mAgency

#14
{if isset($cms->id) && ($cms->id != 4 ||  $cms->id != 1) }
...


Самый главный вопрос, в самом модуле переменная $cms определена?
В стандарном ее нет и использовать в шаблоне нельзя.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.