Standardowo, pliki XML nie są cachowanie na serwerze. Są generowane dynamicznie (tak jak strona główna sklepu). Każde wygenerowanie XML powoduje pobranie produktów z bazy danych i wygenerowanie pliku XML.
Content-Length
wymagane przez niektóre systemy.
W tym celu, plik XML można zapisać na dysku, jako plik *.xml
. W tym celu można skorzystać z 2 metod.
Automatyczna
Po HTTP
Proces ten można zautomatyzować przez dodanie zadania pobierani do zadań CRON na serwerze.
Przykładowe komendy CRON:
wget "http://adres.serwera/modules/pricewars2/service.php?id_xml=n" -O /sciezka/do/pliku.xml
W przypadku direct Admin może być to np.
wget "http://adres.serwera/modules/pricewars2/service.php?id_xml=n" -O /users/username/domains/serwer.pl/public_html/nazwa_pliku.xml
Można w tym celu także użyć komendy curl
(po przykłady użycia odsyłam do google)
Po CLI (od v4.27.0)
Od wersji 4.27 możliwe jest generowanie plików za pomocą PHP CLI. Jest to zalecana metoda generowania, gdyż nie podlega ona dodatkowym limitom nałożonym przez serwery proxy (jak nginx i cloudflare).
Jeśli link do wywołania XML to np.
wget "http://adres.serwera/modules/pricewars2/service.php?id_xml=n" -O /sciezka/do/pliku.xml
Wtedy polecenie CRON będzie wyglądało następująco:
php /home/user/www/modules/pricewars2/service.php "id_xml=n" > /sciezka/do/pliku.xml
W przypadku, gdy chcemy wymusić generowanie XML dla konkretnego sklepu
php /home/user/www/modules/pricewars2/service.php "id_xml=n&id_shop=1" > /sciezka/do/pliku.xml
Ścieżki zawarte w przykładzie są ścieżkami przykładowymi. Dla każdego użytkownika będą one inne.
Manualna
Polega na otworzeniu pliku w przeglądarce, a następnie zapisanie go przez “Plik > Zapisz jako…”. A następnie wgranie takiego pliku na serwer.