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

[Решено] Нужно увеличить скорость загрузки. Перенести все image на поддомен


Recommended Posts

Интересует насколько возможно реализовать следующую вещь.

Вот мой сайт itook.com.ua

Хочу перенести (скопировать) основную папку "image" на поддомен ( media.itook.com.ua ), что бы увеличить скорость загрузки сайта.

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

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

Думаю этот вопрос заинтересует не одного меня.

Буду благодарен за любой совет.

Надіслати
Поділитися на інших сайтах


В файлах config.php которые расположены в корне Вашего магазина и в папке admin найдите данную строку:

define('DIR_IMAGE', '/полный_физический_путь/image/');
и пропишите в ней физический путь к папке image на поддомене.
Надіслати
Поділитися на інших сайтах


В файлах config.php которые расположены в корне Вашего магазина и в папке admin найдите данную строку:

define('DIR_IMAGE', '/полный_физический_путь/image/');
и пропишите в ней физический путь к папке image на поддомене.

 

 

После изменений появилась след ошибка в админ панели:

 

Warning: fopen() [function.fopen]: open_basedir restriction in effect. File(/home/itook/itook.com.ua/media/image/test) is not within the allowed path(s): (/home/itook/itook.com.ua/www:/home/itook/.system/tmp:/usr/local/pear) in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 48Warning: fopen(/home/itook/itook.com.ua/media/image/test) [function.fopen]: failed to open stream: �������� �� ����������� in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 48Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 50Warning: fclose() expects parameter 1 to be resource, boolean given in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 52Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/home/itook/itook.com.ua/media/image/test) is not within the allowed path(s): (/home/itook/itook.com.ua/www:/home/itook/.system/tmp:/usr/local/pear) in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 54Warning: sprintf() [function.sprintf]: Too few arguments in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 55Warning: fopen() [function.fopen]: open_basedir restriction in effect. File(/home/itook/itook.com.ua/media/image/cache/test) is not within the allowed path(s): (/home/itook/itook.com.ua/www:/home/itook/.system/tmp:/usr/local/pear) in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 65Warning: fopen(/home/itook/itook.com.ua/media/image/cache/test) [function.fopen]: failed to open stream: �������� �� ����������� in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 65Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 67Warning: fclose() expects parameter 1 to be resource, boolean given in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 69Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/home/itook/itook.com.ua/media/image/cache/test) is not within the allowed path(s): (/home/itook/itook.com.ua/www:/home/itook/.system/tmp:/usr/local/pear) in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 71Warning: sprintf() [function.sprintf]: Too few arguments in /home/itook/itook.com.ua/www/admin/controller/common/home.php on line 72
Надіслати
Поділитися на інших сайтах


Если я правильно понял, то вы вынесли картинки из папки www, к которой только и разрешено обращаться (видимо, ограничение вашего хостера)

Посмотрите тут обсуждение похожей проблемы: http://forum.ispsystem.com/ru/showthread.php?t=5432

  • +1 1
Надіслати
Поділитися на інших сайтах


После изменений появилась след ошибка в админ панели...

Хорошо, тогда пойдем другим путем:

1. Откатите внесенные изменения;

2. Создайте поддомен media и перенесите в него папку image;

3. В файлах config.php, которые расположены в корне Вашего магазина и в папке admin найдите строки:

define('HTTP_IMAGE', 'http://itook.com.ua/image/');
define('HTTPS_IMAGE', 'http://itook.com.ua/image/');
и замените на:

define('HTTP_IMAGE', 'http://media.itook.com.ua/image/');
define('HTTPS_IMAGE', 'http://media.itook.com.ua/image/');
  • +1 1
Надіслати
Поділитися на інших сайтах


Хорошо, тогда пойдем другим путем:

1. Откатите внесенные изменения;

2. Создайте поддомен media и перенесите в него папку image;

3. В файлах config.php, которые расположены в корне Вашего магазина и в папке admin найдите строки:

define('HTTP_IMAGE', 'http://itook.com.ua/image/');
define('HTTPS_IMAGE', 'http://itook.com.ua/image/');
и замените на:

define('HTTP_IMAGE', 'http://media.itook.com.ua/image/');
define('HTTPS_IMAGE', 'http://media.itook.com.ua/image/');

хорошо, попробую, отпишусь

Надіслати
Поділитися на інших сайтах


Хорошо, тогда пойдем другим путем:

1. Откатите внесенные изменения;

2. Создайте поддомен media и перенесите в него папку image;

3. В файлах config.php, которые расположены в корне Вашего магазина и в папке admin найдите строки:

define('HTTP_IMAGE', 'http://itook.com.ua/image/');
define('HTTPS_IMAGE', 'http://itook.com.ua/image/');
и замените на:

define('HTTP_IMAGE', 'http://media.itook.com.ua/image/');
define('HTTPS_IMAGE', 'http://media.itook.com.ua/image/');

Сайт вообщем работает и изображения идут с media.itook.com.ua , но теперь не могу зайти в алмин панель совсем 

выдаёт ошибку за ошибкой 

 

Fatal error: Call to a member function isLogged() on a non-object in /home/itook/itook.com.ua/www/vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 271
Fatal error: Call to a member function isLogged() on a non-object in /home/itook/itook.com.ua/www/catalog/controller/module/blog.php on line 266
Надіслати
Поділитися на інших сайтах


Ошибки исправил, файлы config.php каким то образом стали однаковыми.  
Вообщем тут всё работает картинки грузятся с поддомена, но на сайте они отображаются не все, в основном в описании товара, именно в фото, а также миниатюры в корзине и некоторые картинки в категориях. 

Мне кажется, что просто не задаётся размер. в админке - настройки - изображения - мы указываем размеры для изображений, может они каким то образом не передают эти значения заданных, хотя некоторые товары всё отображают правильно.

вот ссылка на магазин так будет нагляднее http://itook.com.ua/

Надіслати
Поділитися на інших сайтах


Ошибки исправил, файлы config.php каким то образом стали однаковыми.  

Вообщем тут всё работает картинки грузятся с поддомена, но на сайте они отображаются не все, в основном в описании товара, именно в фото, а также миниатюры в корзине и некоторые картинки в категориях. 

Мне кажется, что просто не задаётся размер. в админке - настройки - изображения - мы указываем размеры для изображений, может они каким то образом не передают эти значения заданных, хотя некоторые товары всё отображают правильно.

вот ссылка на магазин так будет нагляднее http://itook.com.ua/

Ещё раз всё перепроверил, опять оказалась ошибка в config.php - лишняя буква была,

Кстати заменил и эту строчку тоже 

define('DIR_IMAGE', '/полный_физический_путь/image/');

Теперь работает как надо.

Спасибо за подсказку.

Надіслати
Поділитися на інших сайтах


Кстати заменил и эту строчку тоже

define('DIR_IMAGE', '/полный_физический_путь/image/');
Правильно сделали, вчера ночью не успел проверить, без нее решение вопроса было бы не законченным! :wink:

 

Спасибо за подсказку.

Всегда пожалуйста! :wink:
Надіслати
Поділитися на інших сайтах


Правильно сделали, вчера ночью не успел проверить, без нее решение вопроса было бы не законченным! :wink:

 

Всегда пожалуйста! :wink:

Вот только сейчас заметил, походу надо и путь к папке с captcha указать где то, а то вот что получается, картинка никак не отображается. 

dmyd.png

Ссылка на картинку выглядит так 

src="http://itook.com.ua/media/image/cache/649f.jpg" а должна src="http://media.itook.com.ua/image/cache/649f.jpg"

собственно сама ссылка на товар  - вкладка отзывы (так думаю нагляднее)

Что то в файлах captch.php и product.tpl не разобрался где нужно указать путь. Может надо искать в других файлах?

Надіслати
Поділитися на інших сайтах


Похоже, что у Вас используется вариация captcha, поэтому подсказать в плане правок не могу, стандартная работает "на ура", пример.

  • +1 1
Надіслати
Поділитися на інших сайтах


Похоже, что у Вас используется вариация captcha, поэтому подсказать в плане правок не могу, стандартная работает "на ура", пример.

действительно, убрал эти комменты. Поставил стандартные.

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

А вот это вы не видели в resize модели image.php

        if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
            return $this->config->get('config_ssl') . 'image/' . $new_image;
        } else {
            return $this->config->get('config_url') . 'image/' . $new_image;
        }   

а раньше было как надо до версии 1.5.5.*

        if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
            return HTTPS_IMAGE . $new_image;
        } else {
            return HTTP_IMAGE . $new_image;
        }   

Чувствуете разницу!!!

 

 

В последних версиях плюют Даниель со своей OC на DIR_IMAGE и все что связано с путями к images

Из-за таких канделябров очень непросто сделать нормальный мультистор и отделить images

 

При таких танцах ушами, вы по нормальному не отделите images на другой поддомен, так как resize копии в кеше будут находиться на основном сервере, а они в основном и "работают"

Без правки руками - можете забыть о "Перенести все image на поддомен"

 

У вас получилось, потому что сидите на старой версии до 1.5.5

 

В прошлых версиях была HTTP_IMAGE, зачем было её убирать? Не пойму логики Даниеля. Убрать HTTP_IMAGE - полная безмозглость, кому она б... мешала?!

 

P.S. В 5-й версии модуля капча работает уже "без путей" :)

Змінено користувачем markimax
  • +1 1
Надіслати
Поділитися на інших сайтах

перенос дал какой-то результат? скорость загрузки увеличилась?

Нет! Это не скорость загрузки, картинки загружаются вне документа. Результат будет если поддомен расположен совершенно на другом физическом сервере, тогда на основной снизиться нагрузка (судя по всему здесь не тот случай).  Это вариант снижения нагрузки на основной сервер. А не "увеличение" скорости, вынесите картинки хоть в Свазиленд.

 

Лучше поработать над кешированием view и mysql запросов с memecached, вот это реальное увеличение скорости!

Надіслати
Поділитися на інших сайтах

Хорошо, тогда пойдем другим путем:

1. Откатите внесенные изменения;

2. Создайте поддомен media и перенесите в него папку image;

3. В файлах config.php, которые расположены в корне Вашего магазина и в папке admin найдите строки:

define('HTTP_IMAGE', 'http://itook.com.ua/image/');
define('HTTPS_IMAGE', 'http://itook.com.ua/image/');
и замените на:

define('HTTP_IMAGE', 'http://media.itook.com.ua/image/');
define('HTTPS_IMAGE', 'http://media.itook.com.ua/image/');

 

Да нету уже в новых версиях HTTP_IMAGE и HTTPS_IMAGE, этот  у.... :ugeek:  Даниель их про.... куда-то.  Кому они мешали - не понятно

Раньше были - тут раз в 1.5.5.* уже нету! :ugeek:

Наверно с бодуна лег на клаву и Del прижал на строках где была такая важная константа

Слов не хватает, одни чувства :)

Надіслати
Поділитися на інших сайтах

Да нету уже в новых версиях HTTP_IMAGE и HTTPS_IMAGE

Приветствую. Я в курсе, что их нет в OpenCart и соответственно в ocStore начиная с версии 1.5.5.х, но вопрос решался на ocStore версии 1.5.4.1, где они еще были.
Надіслати
Поділитися на інших сайтах


Кстати в 5-й версии модуля captcha полностью переделана и работает на поддоменах тоже. (так как рабоатет без "путей")

Так что можете скинуть мне e-mail я вышлю свежую версию

Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

Вот только сейчас заметил, походу надо и путь к папке с captcha указать где то, а то вот что получается, картинка никак не отображается. 

dmyd.png

Ссылка на картинку выглядит так 

src="http://itook.com.ua/media/image/cache/649f.jpg" а должна src="http://media.itook.com.ua/image/cache/649f.jpg"

собственно сама ссылка на товар  - вкладка отзывы (так думаю нагляднее)

Что то в файлах captch.php и product.tpl не разобрался где нужно указать путь. Может надо искать в других файлах?

 

В 5-й версии всё работает - алгоритм полностью переделан, из-за глупых ошибок Даниеля с константами картинок в opencart

Надіслати
Поділитися на інших сайтах

В 5-й версии всё работает - алгоритм полностью переделан, из-за глупых ошибок Даниеля с константами картинок в opencart

Коллеги, не проще ли в конфиги добавить старую константу?

Уже приходилось сталкиваться, когда сторонние модули не корректно работают на 1.5.5.1

Надіслати
Поділитися на інших сайтах


Коллеги, не проще ли в конфиги добавить старую константу?

Уже приходилось сталкиваться, когда сторонние модули не корректно работают на 1.5.5.1

Нет, подразумевает редактирование файлов системы или... а кто ставить то будет и прописывать (даже если в своих модулях заведете)? Пользователи.... да 90% даже не имеет такой квалификации. Это вам не DOS, когда все знали что такое "путь" в текстовом понимании.

Скажу поговоркой, кто работал в тех. поддержке - в цирке не смеется.

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

Надіслати
Поділитися на інших сайтах

  • 9 months later...

А вот это вы не видели в resize модели image.php

        if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
            return $this->config->get('config_ssl') . 'image/' . $new_image;
        } else {
            return $this->config->get('config_url') . 'image/' . $new_image;
        }   

а раньше было как надо до версии 1.5.5.*

        if (isset($this->request->server['HTTPS']) && (($this->request->server['HTTPS'] == 'on') || ($this->request->server['HTTPS'] == '1'))) {
            return HTTPS_IMAGE . $new_image;
        } else {
            return HTTP_IMAGE . $new_image;
        }   

Чувствуете разницу!!!

 

 

В последних версиях плюют Даниель со своей OC на DIR_IMAGE и все что связано с путями к images

Из-за таких канделябров очень непросто сделать нормальный мультистор и отделить images

 

При таких танцах ушами, вы по нормальному не отделите images на другой поддомен, так как resize копии в кеше будут находиться на основном сервере, а они в основном и "работают"

Без правки руками - можете забыть о "Перенести все image на поддомен"

 

У вас получилось, потому что сидите на старой версии до 1.5.5

 

В прошлых версиях была HTTP_IMAGE, зачем было её убирать? Не пойму логики Даниеля. Убрать HTTP_IMAGE - полная безмозглость, кому она б... мешала?!

 

P.S. В 5-й версии модуля капча работает уже "без путей" :)

 

На версии 1.5.5.1.2 данные изменения не сработали. Ошибки вылазят

Надіслати
Поділитися на інших сайтах


На версии 1.5.5.1.2 данные изменения не сработали. Ошибки вылазят

Это вы о чем? Ошибки чего? URL ошибки или хоть текст

Надіслати
Поділитися на інших сайтах

Это вы о чем? Ошибки чего? URL ошибки или хоть текст

 

Вот такая повторяющаяся ошибка на пол экрана Notice: Use of undefined constant HTTP_IMAGE - assumed 'HTTP_IMAGE' in /path/www/catalog/model/tool/image.php on line 60

 

Строка 60 это и есть внесенные вышеописанные вами изменения в этот файл image.php

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

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

Important Information

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