Поддержка Проблемы и решения кеш? память? или что-то еще?

  • Решено mypowerlogo

    (@mypowerlogo)


    магазин
    версия WooCommerce: 3.5.0
    версия WordPress: 4.9.8
    WordPress ограничение памяти: 2 GB
    Информация о сервере: Apache/2.4.10 (Unix)
    PHP версии: 7.2.5
    Максимальный размер запроса PHP: 100 MB
    Ограничение времени выполнения PHP: 600
    Количество входящих параметров в запросе PHP: 5000
    Макс. размер загрузки: 999 MB

    установлено еще прядка 30 плагинов( внешний вид, аякс окна и т.д.)
    до 1000 посетителей в день

    Суть проблемы: после обновления плагинов прекратилось поступление заказов и так было 12 часов пока не произвел некие манипуляции(установил плагин «WP Super Cache» и в нем очистил кеш) после этого заказы снова начали поступать. Причем и до и после очистки если я делал тестовый заказ со своего ПК заказ приходил успешно.

    Предистория: ранее сталкивался 2 недели не приходили заказы при постоянном рекламном потоке посетителей. Хотя также тестовые заказы приходили с любого ПК успешно. Решилась проблема тем, что «WordPress ограничение памяти:» с 64мб увеличил до 2 GB.

    без каких либо индикаторов или на абум клацать каждый день «очистить кеш» тоже не выход ведь не понятно почему вообще это происходит и почему новые посетители не могут сделать заказ.

    Опережу некоторые вопросы:
    вопрос: то, что люди заходят не означает, что они что то покупают.
    ответ: 1000 человек это не 5, статистику не обманешь. Если изо дня в день 1000 человек делает 10-30 заказов, то не может быть, что резко стало 0 и люди перестали покупать вещи. тенденция на спад идет постепенно, а не резко.

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

    Подскажите, что может не работать и как это проверить или исправить.

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 15 ответов — с 1 по 15 (всего 27)
  • Модератор Yui

    (@fierevere)

    永子

    А лог ошибок вы конечно же не смотрели?

    в корневой папке есть файл PHP_errors.log 14.5 Mb не знаю как его посмотреть

    Модератор Yui

    (@fierevere)

    永子

    скачать, открыть например в WordPad, можно в блокноте, но на таких больших файлах он подвисает.
    Это обычный текстовый файл

    скачал открыл ничего не понятно

    Модератор Yuri

    (@yube)

    скачал открыл ничего не понятно

    Печально. Ищите слово FATAL, и, если найдете, покажите нам несколько таких строк.

    скачал открыл ничего не понятно

    1. Переименуйте или удалите файл на сервере.
    2. Воспроизводите проблему.
    3. Откройте вновь созданный файл (скачав его или через ПУ хостинга) и скопируйте сюда, удалив повторяющиеся строки.

    проверил за последние 10 дней такой ошибки «fatal» не было.

    вот ссылка на лог
    http://transfiles.ru/swlod

    Модератор Yui

    (@fierevere)

    永子

    [31-Oct-2018 14:43:02 UTC] PHP Warning:  call_user_func_array() expects parameter 1 to be a valid callback, no array or string given in /home/m/mypower/mypower.in.ua/public_html/wp-includes/class-wp-hook.php on line 286
    [31-Oct-2018 14:43:09 UTC] The WC_Cart::get_cart_url function is deprecated since version 2.5. Replace with wc_get_cart_url.
    
    [26-Oct-2018 13:45:28 UTC] The WC_Cart::get_item_data function is deprecated since version 3.3. Replace with wc_get_formatted_cart_item_data.
    [26-Oct-2018 13:45:28 UTC] The WC_Cart::get_remove_url function is deprecated since version 3.3. Replace with wc_get_cart_remove_url.

    могли просто показать нам это, больше в вашем логе ничего уникального нет.
    сообщение об использовании устаревших ф-ций в принципе может быть причиной вашей проблемы с заказами
    вопрос где у вас вызывается WC_Cart::get_cart_url и другие устаревшие функции

    • Ответ изменён 5 лет, 1 месяц назад пользователем Yui.

    очень много ошибок с файлом class-wp-hook.php если что вот его кусок с этой строкой:

    
    public function apply_filters( $value, $args ) {
    		if ( ! $this->callbacks ) {
    			return $value;
    		}
    
    		$nesting_level = $this->nesting_level++;
    
    		$this->iterations[ $nesting_level ] = array_keys( $this->callbacks );
    		$num_args = count( $args );
    
    		do {
    			$this->current_priority[ $nesting_level ] = $priority = current( $this->iterations[ $nesting_level ] );
    
    			foreach ( $this->callbacks[ $priority ] as $the_ ) {
    				if( ! $this->doing_action ) {
    					$args[ 0 ] = $value;
    				}
    
    				// Avoid the array_slice if possible.
    				if ( $the_['accepted_args'] == 0 ) {
    					$value = call_user_func_array( $the_['function'], array() );
    				} elseif ( $the_['accepted_args'] >= $num_args ) {
    <strong>строка 286					$value = call_user_func_array( $the_['function'], $args );</strong>
    				} else {
    					$value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int)$the_['accepted_args'] ) );
    				}
    			}
    		} while ( false !== next( $this->iterations[ $nesting_level ] ) );
    
    		unset( $this->iterations[ $nesting_level ] );
    		unset( $this->current_priority[ $nesting_level ] );
    
    		$this->nesting_level--;
    
    		return $value;
    	}
    
    • Ответ изменён 5 лет, 1 месяц назад пользователем mypowerlogo.
    • Ответ изменён 5 лет, 1 месяц назад пользователем Yui. Причина: code
    Модератор Yui

    (@fierevere)

    永子

    class-wp-hook.php сам не является причиной проблемы, это стандартный файл ядра WP
    вопрос в том, что вызывает этот код. Обычно это один из плагинов

    можно поискать в режиме решения проблем с плагином https://ru.wordpress.org/plugins/health-check/ , наблюдая за логом, хоть это может быть и не очень удобно на живом сайте с траффиком и ошибками от других посетителей

    WC_Cart::get_cart_url эта функция встречается только в файле
    /wp-content/plugins/woocommerce/includes/legacy/class-wc-legacy-cart.php

    вот в таком виде

    	
    public function get_cart_url() {
    		wc_deprecated_function( 'WC_Cart::get_cart_url', '2.5', 'wc_get_cart_url' );
    		return wc_get_cart_url();
    	}
    
    • Ответ изменён 5 лет, 1 месяц назад пользователем Yui. Причина: [code]

    какой вообще принцип исправления таких ошибок?

    Модератор Yui

    (@fierevere)

    永子

    встречается только в файле
    /wp-content/plugins/woocommerce/includes/legacy/class-wc-legacy-cart.php

    это то, что генерирует ошибку в лог, при этом не выполняя другого кода, вы соответственно потеряли какой-то функционал

    Это не единственное место, если есть ошибка, значит этот код откуда-то вызывается
    возможно тема.

    Модератор Yui

    (@fierevere)

    永子

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

Просмотр 15 ответов — с 1 по 15 (всего 27)
  • Тема «кеш? память? или что-то еще?» закрыта для новых ответов.