Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

drnemo

Користувачі
  
  • Публікації

    241
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем drnemo

  1. Версия 3.0.2, simple. Смотрю через вебвизор клиент набрасывает товар в корзину, видно что товары в корзине есть, спустя примерно 12 минут активного серфинга (внутренние переходы, браузер не закрывается) по магазину в очередной переход вижу что корзина у клиента пуста. В итоге он уходит из магазина. Сам он ее не очищал точно. Куда пропал товар? Ошибок апача и сервера нет. У себя таких проблем не замечал (без логина работал)

    session.php, cache.php, index.php - стандартные из коробки, ничего не менял.

     

    В system/library/cart/cart.php изменено:

            // Remove all the expired carts with no customer ID
            $this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), INTERVAL 24 HOUR)");

     

    INTERVAL 24 HOUR - отрабатывает в 0:00 часов по серверу или с момента создания сессии?

     

    Кэширование в .htaccess:

    Спойлер
    
    <ifModule mod_expires.c>
        ExpiresActive On
        ExpiresByType image/x-icon "access plus 6 month"
        ExpiresByType image/jpeg "access plus 6 month"
        ExpiresByType image/png "access plus 6 month"
        ExpiresByType image/gif "access plus 6 month"
        ExpiresByType image/webp "access plus 6 month"
        ExpiresByType application/x-shockwave-flash "access plus 6 month"
        ExpiresByType text/css "access plus 6 month"
        ExpiresByType text/javascript "access plus 6 month"
        ExpiresByType application/font-woff "access plus 6 month"
        ExpiresByType application/font-woff2 "access plus 6 month"
        ExpiresByType application/javascript "access plus 6 month"
        ExpiresByType application/javascript "access plus 6 month"
        ExpiresByType application/xhtml+xml "access plus 6 month"
    </ifModule>
    
    <ifModule mod_headers.c>
        <FilesMatch "\.(js|css)$">
            Header set Cache-Control "max-age=25920000"
        </FilesMatch>
        <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|webp|png|woff2|woff)$">
            Header set Cache-Control "max-age=25920000"
        </FilesMatch>
    </IfModule>

     

     

    php.ini

    Спойлер
    
    magic_quotes_gpc = Off
    register_globals = Off
    default_charset	= UTF-8
    memory_limit = 64M
    max_execution_time = 36000
    upload_max_filesize = 999M
    safe_mode = Off
    mysql.connect_timeout = 20
    session.auto_start = Off
    session.use_only_cookies = On
    session.use_cookies = On
    session.use_trans_sid = Off
    session.cookie_httponly = On
    session.gc_maxlifetime = 3600
    allow_url_fopen = On
    ;display_errors = 1
    ;error_reporting = E_ALL

     

     

  2. 10 минут назад, EVMedvedev сказал:

    Вопрос в том, на какую аудиторию вы работает. Например если вы тестируете gtmetrix(ом) свой сайт, то там можно оценить потери на передачу данных, если выбрать разные тестовые сервера. У меня например разница в скорости загрузки сайт на хостинге в Москве тестовыми серверами из Канады и из Великобритании отличается в разы. У меня соответственно по тестам 5 сек и 2.5 сек соответственно. А если вы работаете на территории стран СНГ, то это то же самое, что грузить страницу из Ванкувера с сайта на хосте, расположенного в Москве. То же самое с загрузкой контента браузером клиента в Москве с Cloudflare хоста в США.

    да, понятно. Основные пользователи - РФ, похоже надо отключать кэширование CF.

    Кстати, тот же gtmetrix будет резать оценку YSlow если нет CDN, но тут или на цифру работать или на реальное ощущение пользователя

  3. 1 час назад, EVMedvedev сказал:

    Если магазин маленький - лучше отказаться от использования Cloudflare. С учетом того, что его сервера находятся где-то в США а основная масса пользователей находится как минимум в Европе, то сказываются проблемы сетей. Я лично отказался от использования Cloudflare на своем сайте и в результате получил ускорение отклика. Не стоит использовать CDN если у вас вся аудитория локализована где-то в одном месте. В таком случае лучше просто вынести статику на поддомен и настроить так, чтобы все работало cookie free.

    Сервер находится в США (DigitalOcean), нагрузка на проц и память не превышает 3-5%, т.к. магазин маленький.

    И делема: с включенным кэшированием htaccess, но выключенным CF - speedtest - 62-81; с отключенным серверным, но включенным CF - 86-99. Субъективно визуально и так и так вроде нормально открывается

  4. при отключении CDN CF и рекомендациях в htaccess, которые дал @markimax , кэширование появляется (по некорректному отображению корзины и админки понаблюдаю).

    Но при этом pagespeed существенно проседает по параметру "Сократите время ответа сервера (время до получения первого байта)", с CDN такого нет (магазин маленький, загрузка сервера никакая).

  5. 28 минут назад, markimax сказал:

    Та да

    В настройках кеширования Cloudflare надо выставить "No Query String: Only delivers files from cache when there is no query string."

    Попробую

     

    32 минуты назад, EVMedvedev сказал:

     

    У Cloudflare свое кэширование Не стоит об это забывать. С htaccess на вашем хосте в этом случае общается только Cloudflare.

    Так при полном отключении кэширования в СDN ситуация не меняется (кэш CDN чистил), помогает только удаление кэша в .htaccess 

  6. Добрый день! Версия 3.0.2, Apache/2.4.29 (Ubuntu), модуль simple. 

    Прописываю в .htaccess кэширование:

    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access 2 days"
    ExpiresByType image/jpg "access 1 week"
    ExpiresByType image/jpeg "access 1 week"
    ExpiresByType image/gif "access 1 week"
    ExpiresByType image/png "access 1 week"
    ExpiresByType text/css "access 1 week"
    ExpiresByType application/pdf "access 1 week"
    ExpiresByType text/x-javascript "access 1 week"
    ExpiresByType application/x-shockwave-flash "access 1 week"
    ExpiresByType image/x-icon "access 1 week"
    ExpiresByType application/javascript "access 1 week"
    ExpiresByType text/javascript "access 1 week"
    </IfModule>

    весь htaccess:

    Спойлер
    
    Options +FollowSymlinks
    Options -Indexes
    <FilesMatch "(?i)((\.tpl|.twig|\.ini|\.log|(?<!robots)\.txt))">
     Require all denied
    </FilesMatch>
    
    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access 2 days"
    ExpiresByType image/jpg "access 1 week"
    ExpiresByType image/jpeg "access 1 week"
    ExpiresByType image/gif "access 1 week"
    ExpiresByType image/png "access 1 week"
    ExpiresByType text/css "access 1 week"
    ExpiresByType application/pdf "access 1 week"
    ExpiresByType text/x-javascript "access 1 week"
    ExpiresByType application/x-shockwave-flash "access 1 week"
    ExpiresByType image/x-icon "access 1 week"
    ExpiresByType application/javascript "access 1 week"
    ExpiresByType text/javascript "access 1 week"
    </IfModule>
    
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^139\.59\.63\.78
    RewriteRule (.*) https://pryazhayar.ru/$1 [R=301,L]
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
    RewriteRule ^index\.html$ / [R=301,L]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ / [R=301,L]
    RewriteCond %{QUERY_STRING} ^route=common/home$
    RewriteCond %{REQUEST_METHOD} !^POST$
    RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]
    
    RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

     

    После этого начинаются траблы в админке и магазине: например, отображение актуального статуса заказа в админке или кол-во товара только через полное обновление (ctrl+F5; как на разных ПК, так и в мобильных браузерах); корзина у пользователя показывает "старые позиции", пока принудительно не обновишь кэш. Если кэширование mod_expires.c отключаешь, то все приходит в норму. В чем могут быть причины?

    p.s. сайт находится под CDN cloudflare (Caching Level - Standart, Browser Cache Expiration - respect existing headers), при отключении кэширования в CDN ситуация на сайте не меняется.

  7. Update: найдена проблема - глючное приложение для управления заказами с мобильного телефона "OpenCart Mobile Admin" (https://play.google.com/store/apps/details?id=com.pinta.opencart.opencartmobileadmin), при оповещении покупателя об изменении статуса заказа берет и уменьшает количество!

  8. Версия 3.0.2, настройка "заказ при нехватке на складе" - нет, "предупреждать о нехватке на складе" - да, модуль оплаты - "фикс. сумма (оплата при доставке)".

    Был товар в наличии 3 шт, клиент делает заказ 1 шт., обрабатываю заказ (меняю статус на выполнен), потом обнаруживаю, что товара на складе осталось -1 шт. (отрицательное кол-во). В таблице _order_product с данным product_id "лишних" заказов не вижу.

    Как такое могло произойти? В брошенных заказах ничего нет, может где-то в таблицах можно посмотреть историю списания количества?

  9. Аналогичная проблема на 3.0.2 с пропавшими заказами: товар списывается со склада, но оповещений на почту нет. Подключен модуль оплаты от яндекс.денег и псевдо-оплата от сбербанка (уведомление что надо перечислить деньги на карту). Куда копать?

  10. Добрый день!

    При оформлении заказа незарегистрированный пользователь если ставит галочку "Зарегистрироваться", то сначала заполняет поля для нового аккаунта и далее переходит к разделу доставка, в это время похоже создается новый акк (хотя поля в разделе регистрации визуально не меняются), далее нажимает подтвердить заказ и ругается что такой акк уже существует (создался при переходе из раздела в раздел). Косяк или настроено криво?

    p.s. проявляется через раз: когда-то успевает видимо создать акк и перезагрузить поля ("Ваш аккаунт создан! Вы можете перейти к оплате заказа!"), а когда нет (есть видео с яндексовского вебвизора)

     

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.