Ошибка preg_replace():

Тема в разделе "PHP", создана пользователем vanderbolt, 27 окт 2017.

Метки:
Статус темы:
Закрыта.
Модераторы: latteo
  1. vanderbolt

    vanderbolt Постоялец

    Регистр.:
    21 июн 2017
    Сообщения:
    117
    Симпатии:
    59
    Добрый день! Я уже облазил половину интернета в поиске решения моей проблемы, но так и не нашёл ничего подходящего. Поэтому решил всё-таки обратиться к сообществу, вдруг повезёт. Описываю суть.

    Имеется сайт (http://www.deco-balka.com) на хостинге (https://www.ukraine.com.ua) под управлением CMS Wordpress. На хостинге используется PHP версии 7.1 и включены все возможные оптимизации для сайта. Мне потребовалось поставить на сайт калькулятор, и я воспользовался Wordpress Creator Calculator. Я настроил четыре необходимых калькулятора на нужной странице, настроил отправку результатов расчётов на почту администратору и пользователю. И всё работает, кроме того, что сверху страницы постоянно отображается предупреждение:

    Warning: preg_replace(:( The /e modifier is no longer supported, use preg_replace_callback instead in /home/decoba00/deco-balka.com/www/wp-content/plugins/wp-creator-calculator/wp-creator-calculator.php on line 2662
    URL страницы: http://www.deco-balka.com/price/

    В файле wp-creator-calculator.php в строке 2662 написано следующее:

    '.preg_replace("|\[session id=\"(.*)\"\](.*)\[/session\]|e", "\$_SESSION['wpcc_\\1']['\\2']", stripslashes(nl2br($wpcc_cache['text']))).'

    Я менял версию PHP, и пытался поменять эту строчку, но я не особо разбираюсь в коде, поэтому предупреждение все равно отображается (даже четыре предупреждения, потому что на странице четыре калькулятора). При этом всё работает корректно, всё считается правильно и письма отсылаются. Как от него избавиться или сделать так, чтобы просто не было его видно?)

    Зараннее огромное спасибо!

    P.S. Скриншоты прилагаю.
    Ошибка.png stroka.png
     
  2. vanderbolt

    vanderbolt Постоялец

    Регистр.:
    21 июн 2017
    Сообщения:
    117
    Симпатии:
    59
    Спасибо, если я за ночь не справлюсь, завтра отпишусь! Очень нужна помощь знающего человека.

    В общем, я сделал сброс PHP до версии 5.6, и на хостинге отключил сообщения об ошибках. Так посоветовали в техподдержке хостинга. Сообщение пропало через час (сказали, ждать), но при попытке создания страницы или редактирования, пишет следующую ошибку при заходе на сайт:

    Parse error
    : syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ')' in /home/decoba00/deco-balka.com/www/wp-content/themes/Avada/includes/lib/inc/redux/custom-fields/typography/googlefonts-array.php on line 3

    Хотя в админку заходит. Но когда пытаешься редактировать страницу, пишет:

    Fatal error
    : Allowed memory size of 67108864 bytes exhausted (tried to allocate 30720 bytes) in /home/decoba00/deco-balka.com/www/wp-content/themes/Avada/includes/options/footer.php on line 489

    Я файлы прикрепил, расширение на .php поменять только. Очень не хочется всё переделывать заново из-за одного плагина, просто неимоверно не хочется, столько времени потратил. Бэкапы вообще никак не помогли( То есть, в процессе закачивания всех файлов директории на FTP сайт выглядит "неполоманным", но после окончания закачки на него невозможно зайти из-за синтакс эррора, а когда заходишь в редактирование страниц, пишет про футер.пхп.

    Что делать, не знаю. благодарен за любую помощь!
     

    Вложения:

    Последнее редактирование модератором: 29 окт 2017
  3. world-tour

    world-tour

    Регистр.:
    25 апр 2015
    Сообщения:
    221
    Симпатии:
    189
    Для решения данной проблемы открой php.ini (если доступен, просто загуглив данного хостера понял что там все печально))
    и выдели поболее памяти (увеличь параметр) memory_limit
    или поменяй данный параметр в панели хостинга в настройках php
    27-10-2017 06-19-38.png
    Update:
    У тебя файл покоцанный, замени на этот
     

    Вложения:

    Последнее редактирование: 27 окт 2017
    vanderbolt нравится это.
  4. vanderbolt

    vanderbolt Постоялец

    Регистр.:
    21 июн 2017
    Сообщения:
    117
    Симпатии:
    59
    Спасибо большое всем за помощь! Смена мемори лимит помогла! Всё заработало.
     
Статус темы:
Закрыта.