Przechowywanie mediów cz. I

Magento umożliwia przechowywanie plików multimedialnych w bazie danych na serwerze bazy danych lub w sieci dostarczania treści ( tzw. CDN), w przeciwieństwie do przechowywania ich w systemie plików serwera WWW. Zaletą korzystania z alternatywnej pamięci jest to, że minimalizuje czas wymagany do synchronizacji multimediów, gdy wiele wersji systemu jest wdrożonych na różnych serwerach, które wymagają dostępu do tych samych obrazów, plików CSS i innych plików multimedialnych.

Baza danych | przechowywanie plików

Domyślnie wszystkie obrazy, skompilowane pliki CSS i skompilowane pliki JavaScript  są przechowywane w systemie plików na serwerze. Możesz wybrać przechowywanie tych plików w bazie danych na serwerze bazy danych. Jedną z zalet tego podejścia jest opcja automatycznej synchronizacji i synchronizacji odwrotnej pomiędzy systemem plików serwera WWW a bazą danych. Możesz użyć domyślnej bazy danych do przechowywania multimediów lub utworzyć nową. Aby móc używać nowo utworzonej bazy danych jako magazynu multimediów, należy dodać informacje o niej i jej dane dostępu do pliku env.php.

 

Informacje w bazie danych

Przeglądarka żąda multimediów – strona ze sklepu otwiera się w przeglądarce klienta, a przeglądarka żąda multimediów określonych w kodzie HTML.
System szuka nośnika w systemie plików – system wyszukuje nośnik w systemie plików i jeśli zostanie znaleziony, przekazuje go do przeglądarki.
System lokalizuje nośnik w bazie danych – jeśli nośnik nie zostanie znaleziony w systemie plików, żądanie dotyczące nośnika jest wysyłane do bazy danych określonej w konfiguracji.
System lokalizuje multimedia w bazie danych – skrypt PHP przesyła pliki z bazy danych do systemu plików i wysyła do przeglądarki klienta. Żądanie przeglądarki dotyczące multimediów powoduje uruchomienie skryptu w następujący sposób:

  • Jeśli przepisywanie serwera WWW jest włączone dla Magento i obsługiwane przez serwer, skrypt PHP działa tylko wtedy, gdy żądany nośnik nie zostanie znaleziony w systemie plików.
  • Jeśli przepisywanie serwera WWW jest wyłączone dla Magento lub nie jest obsługiwane przez serwer, skrypt PHP działa mimo to, nawet jeśli wymagane media są dostępne w systemie plików.

 

Używanie bazy danych do przechowywania multimediów

Na pasku bocznym przejdź do sekcji Sklepy -> Ustawienia -> Konfiguracja.
W lewym panelu rozwiń Zaawansowane i wybierz System.
W lewym górnym rogu ustaw Widok sklepu na domyślną konfigurację, aby zastosować konfigurację na poziomie globalnym.
Rozwiń w sekcji Konfiguracja przechowywania mediów i wykonaj następujące czynności:

 

Ustaw Przechowywanie mediów na Baza danych.
Ustaw opcję Wybierz bazę danych mediów  na bazę danych, której chcesz użyć.
Kliknij Synchronizuj, aby przenieść istniejące multimedia do nowo wybranej bazy danych.
Wprowadź czas aktualizacji środowiska w sekundach.

Po zakończeniu kliknij Zapisz konfigurację.

 

W następnym wpisie omówię używanie CDN (rozproszony system dostarczania treści) do przechowywania mediów.