Jump to content
kunca

Обновление версии PHP - стоит ли, может ли из-за этого упасть весь сайт?

Recommended Posts

Добрый день.

 

Есть магазин на ocStore Version 1.5.4.1. На сервере стоит версия PHP 5.3.3, хостинг reg.ru.

 

Нужно установить модуль для работы с атрибутами, которому нужна версия PHP 5.4 и выше. Прочесала весь форум, судя по всему это единственный модуль, к-ый подходит под версию 1.5.4.1 и он нам очень нужен (для быстрого исправления ошибок в значениях атрибутов, к-ых довольно много).

 

Вопрос, какова вероятность, что сайт перестанет работать, если на сервере обновить версию PHP (до 5.4 или 5.6)? Понимаю, что гарантий никто никогда не дает, но это действующий сайт интернет-магазина, если что-то пойдет не так, то будет потрачено некоторое время на откат на старую версию PHP 5.3 и потеряны заказы и клиенты.

 

Или может это не так страшно, но перед обновлением стоит проверить все модули на совместимость с новой версией PHP?

 

Нужно принять правильное решение, может кто-то уже сталкивался с подобным - буду благодарна за совет!

Share this post


Link to post
Share on other sites

Если нужна скорость то php 7 гораздо быстрее 5
Если нужна стабильность - нет смысла в переходе
Но хотя бы на 5.6 обновитесь там разницы почти никакой

Share this post


Link to post
Share on other sites
32 минуты назад, markimax сказал:

Если нужна скорость то php 7 гораздо быстрее 5
Если нужна стабильность - нет смысла в переходе
Но хотя бы на 5.6 обновитесь там разницы почти никакой

 

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

Share this post


Link to post
Share on other sites
В 08.09.2019 в 14:25, ibond сказал:

Возможно, при переходе на 5.6, вот это пригодится:

https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=13041

 

Спасибо!

 

Т.е. при обновлении до PHP 5.6 по-любому появится эта ошибка “The mysql extension is deprecated...” ? И не совсем понятно, этот модуль бесплатный или нет)

Share this post


Link to post
Share on other sites
1 час назад, kunca сказал:

бесплатный

 

Share this post


Link to post
Share on other sites

Мой хостер не спрашивает, и сейчас пхп у нас уже 7. The mysql extension is deprecated - это значит, что вариант БД mysql не поддерживается. Смотри, скорее всего на хосте используется mysqli (это можно увидеть в файле config.php), значит в модуле нужно изменить имя драйвера БД на mysqli

 

Share this post


Link to post
Share on other sites
В 08.09.2019 в 14:17, kunca сказал:

Но хотя бы на 5.6 обновитесь там разницы почти никакой

У семерки имеются отличия. Например, получаем варнинг при запросе статического метода, который не указан как static function Ну ereg канула в лету уже после четверки. Семерка поддерживает preg в старой нотации, но может выдавать варнинг, что необходимо использовать, например, preg_match_callback вместо preg_match. Ну это, если вкратце,

    public function generateChildDef(&$def, $module) {
        if (!empty($def->child)) return; // already done!
        $content_model = $def->content_model;
        if (is_string($content_model)) {
            // Assume that $this->keys is alphanumeric
            $def->content_model = preg_replace_callback(
                '/\b(' . implode('|', $this->keys) . ')\b/',
                array($this, 'generateChildDefCallback'),
                $content_model
            );
            //$def->content_model = str_replace(
            //    $this->keys, $this->values, $content_model);
        }
        $def->child = $this->getChildDef($def, $module);
    }

    public function generateChildDefCallback($matches) {
        return $this->info[$matches[0]];
    }

Share this post


Link to post
Share on other sites
В 08.09.2019 в 14:25, ibond сказал:

Возможно, при переходе на 5.6, вот это пригодится:

https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=13041

При всем уважении - это не очень хорошее решение.
Более корректным будет забрать код из 1.5.6 и в конфиге поменять тип подключения на mysqli.

https://github.com/opencart/opencart/blob/1.5.6.4/upload/system/library/db.php

https://github.com/opencart/opencart/blob/1.5.6.4/upload/system/database/mysqli.php

 

В 08.09.2019 в 13:41, kunca сказал:

Добрый день.

 

Есть магазин на ocStore Version 1.5.4.1. На сервере стоит версия PHP 5.3.3, хостинг reg.ru.

 

Нужно установить модуль для работы с атрибутами, которому нужна версия PHP 5.4 и выше. Прочесала весь форум, судя по всему это единственный модуль, к-ый подходит под версию 1.5.4.1 и он нам очень нужен (для быстрого исправления ошибок в значениях атрибутов, к-ых довольно много).

 

Вопрос, какова вероятность, что сайт перестанет работать, если на сервере обновить версию PHP (до 5.4 или 5.6)? Понимаю, что гарантий никто никогда не дает, но это действующий сайт интернет-магазина, если что-то пойдет не так, то будет потрачено некоторое время на откат на старую версию PHP 5.3 и потеряны заказы и клиенты.

 

Или может это не так страшно, но перед обновлением стоит проверить все модули на совместимость с новой версией PHP?

 

Нужно принять правильное решение, может кто-то уже сталкивался с подобным - буду благодарна за совет!

 

Конкретно в вашем случае появится еще проблема с библиотеками mcrypt - но это так же решается путем  апгрейда отдельных классов движка.
Тот же encryption класс можно взять отсюда и спокойно пользоваться. 

https://github.com/opencart/opencart/blob/3.0.1.0/upload/system/library/encryption.php

С обновлением версии php с 5.x на 7.x даже с 1.5 движком проблем нет - если возникнут - пишите в личку подскажу что сделать.


А вот с работой сторонних модулей могут быть самого разного рода проблемы.

Share this post


Link to post
Share on other sites

да с шифрованными модулями подстава подстав будет.

Share this post


Link to post
Share on other sites
В 10.09.2019 в 11:57, nikifalex сказал:

да с шифрованными модулями подстава подстав будет.

Это только в случае перехода на версию 7, или на 5.6 тоже?

 

Не сильна в этом вопросе, но шифрованные модули - это те, к-ые при установке используют IonCube Loader?

Такие есть. Например, модуль Поставщики, BatchEditor, Simple - упрощенная регистрация и заказ..

Share this post


Link to post
Share on other sites
10 часов назад, kunca сказал:

но шифрованные модули - это те, к-ые при установке используют IonCube Loader?

да

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By gigamarket24
      Версия ocStore 2.3.0.2.3
      Шаблон Techstore
      Верхнее меню навигации  https://yadi.sk/i/siHFquTUcMLaMw
      Необходимо так https://yadi.sk/i/ppLQ_YuFIFqX8w
       
      При деактивации скрипта https://yadi.sk/i/ppLQ_YuFIFqX8w , меню отображается правильно, но не работают родительские ссылки.
       
      Скрипт, который нужно править. 
       
      !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(M){var e,i=M(window).width(),n=M(window).height(),l=[];M(window).resize(function(){clearTimeout(e),e=setTimeout(function(){M(window).width()===i&&M(window).height()===n||(M(l).each(function(){M(this).flexMenu({undo:!0}).flexMenu(this.options)}),i=M(window).width(),n=M(window).height())},200)}),M.fn.flexMenu=function(e){var i,w=M.extend({threshold:2,cutoff:2,linkText:"...",linkTitle:"",linkTextAll:"",linkTitleAll:"",showOnHover:!0,popupAbsolute:!0,popupClass:"",undo:!1},e);return this.options=w,0<=(i=M.inArray(this,l))?l.splice(i,1):l.push(this),this.each(function(){var e,i,n,l,t,o,f=M(this),u=f.find("> li"),d=u.first(),s=u.last(),a=f.find("li").length,r=Math.floor(d.offset().top),p=Math.floor(d.outerHeight(!0)),h=!1;function c(e){return Math.ceil(e.offset().top)>=r+p}if(c(s)&&a>w.threshold&&!w.undo&&f.is(":visible")){var v=M('<ul class="flexMenu-popup" style="display:none;'+(w.popupAbsolute?" position: absolute;":"")+'"></ul>');for(v.addClass(w.popupClass),o=a;1<o;o--){if(i=c(e=f.find("> li:last-child")),o-1<=w.cutoff){M(f.children().get().reverse()).appendTo(v),h=!0;break}if(!i)break;e.appendTo(v)}h?f.append('<li class="flexMenu-viewMore flexMenu-allInPopup"><a href="#" title="'+w.linkTitleAll+'">'+w.linkTextAll+"</a></li>"):f.append('<li class="flexMenu-viewMore"><a href="#" title="'+w.linkTitle+'">'+w.linkText+"</a></li>"),c(n=f.find("> li.flexMenu-viewMore"))&&f.find("> li:nth-last-child(2)").appendTo(v),v.children().each(function(e,i){v.prepend(i)}),n.append(v),f.find("> li.flexMenu-viewMore > a").click(function(e){var i;i=n,M("li.flexMenu-viewMore.active").not(i).removeClass("active").find("> ul").hide(),v.toggle(),n.toggleClass("active"),e.preventDefault()}),w.showOnHover&&"undefined"!=typeof Modernizr&&!Modernizr.touch&&n.hover(function(){v.show(),M(this).addClass("active")},function(){v.hide(),M(this).removeClass("active")})}else if(w.undo&&f.find("ul.flexMenu-popup")){for(l=(t=f.find("ul.flexMenu-popup")).find("li").length,o=1;o<=l;o++)t.find("> li:first-child").appendTo(f);t.remove(),f.find("> li.flexMenu-viewMore").remove()}})}});
       
      Интересует цена. Все доступы предоставлю.
       
    • By JustSkew
      Всем привет!
       
      Есть страница domain.ru/page. Нужно сделать так, чтобы эта же страница открывалась по domain.ru/page-1, .../page-2 и т.д. То есть, если после page через тире идет продолжение - открывать содержимое страницы /page без смены урл. 
       
      Например: заходим по ссылке domain.ru/page-1 - показывается содержимое страницы page (для page один шаблон в view и один контроллер), при этом урл остается domain.ru/page-1
      На сайте есть seoPro, опенкарт версии 1.5
       
       
      Чтобы было понятнее для чего это: это будет страница контактов для множества городов (kontakty-v-moskve, kontakty-v-pitere) и по всем урлам должна открываться одна страница (/kontakty), в которой будет, в зависимости от урла, меняться информация. Создавать страницу для каждого города не вариант, т.к. таких городов >150.
       
    • By AndreySkoblyakov
      Доброго времени суток! 
      Нужен шаблон для Opencart "шины и диски" 
      Пример нравится:https://arden.market/
       
      Цветовая гамма:
      Черный цвет основной (добавление жёлтого и белого кнопки и т.д)
      Модули:
      купить в 1 клик, оплата картами, в/из Exel, в/из 1С синхронизация и обмен, фильтр по подбору шин по:машинам, размерам и т.д, Упрощённая регистрация и заказ. 
      Боковое меню будет плюсом но не обязательно! 
       
      Интересует цена и сроки! 
    • By martovytskyi87
      Opencart 3. Как правильно создать еще один модуль Рекомендуемых товаров?
      Прошу подсказать порядок действий. Могу конечно постучаться из модели в определенную категорию и это всё вывести, но нужно оставить администратору право настройки. Скопировать модуль и постучаться из контроллера? Цель - вывести на главную рекомендуемые товары из одной категории и где то в другом месте из другой категории. 
       

    • By martovytskyi87
      Есть модуль с отзывами. Пытаюсь в админке вывести уведомление о новом отзыве admin/controller/catalog/p_review.php: 
      $p_review_total = $this->model_catalog_p_review->getTotalReviews(); $data['p_reviewtotal'] = $p_review_total; $results = $this->model_catalog_p_review->getReviews($filter_data);
      header.php
      // Reviews $this->load->model('catalog/p_review'); $p_reviewtotal = $this->model_catalog_p_review->getTotalReviews(array('status' => 0)); $data['p_reviewtotal'] = $p_reviewtotal; $data['p_review'] = $this->url->link('catalog/p_review', 'user_token=' . $this->session->data['user_token'] . '&status=0', true); header.twig

       
      {% if p_review_total >= 1 %} <li class="dropdown"><a href="{{ p_review }}"> <i class="fa fa fa-comments-o fa-lg blinking" style="color:green"></i> <span style="font-size: 10px">{{ text_review }}</span> <sub>{{ text_new_review }}: ({{ review_total }})</sub></a></li>   {% endif %}  
      Получаю ошибку

      Fatal error: Uncaught Error: Call to a member function getTotalReviews() on null

      Как правильно вывести количество?
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.