Modul 7 · 7.2
Kaj spletna trgovina zahteva od gostovanja
Modul 7: Vidnost in gostovanje · Čas branja: 10 minut
Učni cilj: Po tej lekciji boste znali oceniti, ali paket gostovanja ustreza trgovini WooCommerce, preveriti in prilagoditi najpomembnejše nastavitve PHP ter prepoznati, kdaj Vaš paket postane premajhen.
Ključni pojmi: priporočila za strežnik, različica PHP, omejitev pomnilnika WordPress (WP_MEMORY_LIMIT), memory_limit, max_execution_time, max_input_vars, upload_max_filesize, podatkovna zbirka, predpomnilnik objektov, CPU, procesi, 503, Resource Limit Is Reached, WooCommerce > Stanje, rast
Spletna trgovina je zahtevnejša od običajnega spletnega mesta
Običajno spletno mesto WordPress s predpomnilnikom strani večini obiskovalcev streže shranjen HTML. Spletna trgovina to zmore le delno (lekcija 6.4): košarica, blagajna in Moj račun se za vsakega obiskovalca ustvarijo na novo, in ko nekdo doda izdelek v košarico, dobi sejo in predpomnilnik zanj pogosto ne velja več. Poleg tega:
- vsako naročilo piše v podatkovno zbirko (naročilo, postavke, naslovi, zaloga, opombe);
- ponudnik plačil prek webhooka sporoči, da je bilo plačano, in ta zahteva mora hitro dobiti odgovor;
- WooCommerce ima načrtovana dejanja, ki tečejo v ozadju (lekcija 7.3);
- upravljanje (naročila, poročila, urejanje izdelkov) je zahtevnejše kot pri blogu.
Trgovina, ki na majhnem paketu brez težav deluje z desetimi naročili na dan, se lahko med razprodajo s stotinami hkratnih obiskovalcev ustavi. Zato se splača vedeti, kaj Vaš paket zmore.
Kaj priporoča WooCommerce
WooCommerce objavlja priporočene nastavitve strežnika (stanje novembra 2026, za različico 10.8 in novejše):
| Sestavni del | Priporočilo |
|---|---|
| WordPress | 6.9 ali novejši |
| PHP | 8.3 ali novejši (preizkušeno do vključno 8.4) |
| Podatkovna zbirka | MySQL 8.0 ali novejši ali MariaDB 10.6 ali novejši |
| Omejitev pomnilnika WordPress | 256 MB ali več |
| HTTPS | obvezno |
To so priporočila, ne minimum: vtičnik sam za namestitev zahteva PHP 7.4. Vendar je trgovina na stari različici PHP počasnejša in ne prejema več varnostnih posodobitev. Kako varno preidete na novejšo različico PHP, je opisano v tečaju WordPress, lekcija 8.4; postopek je za spletno trgovino enak, le blagajno in plačilo v testnem okolju (staging) preizkusite še posebej temeljito.
Kje vidite, kaj imate zdaj? V WooCommerce > Stanje (Stanje sistema). Tam pod Okolje WordPress med drugim najdete omejitev pomnilnika WordPress, pod Okolje strežnika pa različico PHP, omejitve PHP in različico podatkovne zbirke. Ob težavah razvijalec ali podpora vtičnika pogosto prosi za to poročilo; z gumbom za pridobitev sistemskega poročila ("Get system report") ga kopirate.
Nastavitve PHP, ki so pomembne
Pri spletni trgovini boste najpogosteje naleteli na štiri nastavitve:
- memory_limit (in WP_MEMORY_LIMIT): koliko delovnega pomnilnika sme porabiti ena zahteva PHP. Premalo pomnilnika povzroči belo stran ali sporočilo "Allowed memory size exhausted", pogosto pri poročilih, uvozih ali urejanju velikega spremenljivega izdelka. WooCommerce priporoča omejitev pomnilnika WordPress 256 MB. WordPress uporabi vrednost iz wp-config.php (
WP_MEMORY_LIMIT), vendar nikoli več, kot dovoli sam PHP. - max_execution_time: kako dolgo sme trajati ena zahteva. Uvoz CSV ali izvoz tisoč naročil lahko traja dlje od privzete vrednosti. Raje uvažajte v manjših delih, kot da omejitev nastavite zelo visoko.
- max_input_vars: koliko polj sme poslati obrazec. Pri spremenljivem izdelku z veliko različicami ali pri velikem meniju skrbniški vmesnik pošlje na stotine polj. Če je omejitev prenizka, se zadnja polja tiho zavržejo: kliknete Posodobi, ne vidite napake, del Vaših različic pa ni shranjen. Če to opazite, vrednost povečajte (na primer na 3000 ali 5000) ali ustvarite manj različic (lekcija 3.2).
- upload_max_filesize in post_max_size: kako velika sme biti naložena datoteka. Pomembno za fotografije izdelkov in za izdelke za prenos (lekcija 3.3).
Pri večini ponudnikov gostovanja te vrednosti prilagodite v nadzorni plošči. Pri WebOké to storite v DirectAdmin pri nastavitvah PHP svojega paketa (glejte KB 212 in KB 200); pri drugih ponudnikih je postopek podoben, včasih prek datoteke .user.ini ali zaslona php.ini. Spreminjajte eno vrednost naenkrat in v WooCommerce > Stanje preverite, ali je bila upoštevana.
Kdaj paket postane premajhen
Na deljenem gostovanju ima vsak paket meje: koliko CPU, koliko pomnilnika in koliko procesov hkrati. Pri WebOké in drugih ponudnikih s CloudLinux jih vidite v DirectAdmin pri porabi svojega paketa. Če Vaša trgovina te meje preseže, obiskovalci dobijo napako 503 ali sporočilo, kot je "Resource Limit Is Reached". Pri spletni trgovini je to še posebej neprijetno: kupec, ki ravno želi plačati, ali webhook ponudnika plačil, ki ne dobi odgovora, zaradi česar plačano naročilo ostane v stanju "Plačilo v teku".
Preden vzamete večji paket, najprej preverite, kaj povzroča obremenitev. Najpogostejši vzroki pri spletnih trgovinah:
- predpomnilnik strani manjka ali je napačno nastavljen (lekcija 6.4);
- roboti, ki se sprehajajo po filtrih, rezultatih iskanja ali povezavah
?add-to-cart=; - WP-Cron ob vsakem obisku in poln čakalni seznam načrtovanih dejanj (lekcija 7.3);
- zahtevni vtičniki ali tema, ki na vsaki strani izvede veliko poizvedb v podatkovno zbirko;
- ni predpomnilnika objektov (Redis) pri veliko prijavljenih kupcih (lekcija 6.4).
Pri iskanju vzroka Vam pomagajo pregled porabe paketa, dnevniki in pri nekaterih ponudnikih orodje, kot je PHP X-Ray, ki za vsako stran pokaže, katera funkcija je počasna (KB 227).
Če je trgovina dobro nastavljena in kljub temu dosegate meje, je rast upravičena: večji paket ali lasten strežnik (VPS), na katerem sami določite, koliko procesov sme poganjati PHP. Ta korak zahteva tudi več upravljanja. Ne načrtujte ga sredi najbolj zasedenega tedna; najprej preizkusite na novi lokaciji (lekcija 7.3).
Kaj še spada k spletni trgovini
Poleg PHP spletna trgovina od gostovanja zahteva:
- HTTPS s samodejnim podaljševanjem certifikata (tečaj WordPress, lekcija 3.1);
- varnostne kopije, ki so dovolj pogoste za Vaša naročila, s preizkusom obnovitve (lekcija 6.2);
- pravi cron za načrtovana opravila (lekcija 7.3);
- zanesljivo e-pošto ali povezavo s storitvijo za pošiljanje e-pošte (lekcija 6.1);
- možnost testnega okolja (staging) (lekcija 7.3);
- dovolj veliko podatkovno zbirko: naročila in načrtovana dejanja rastejo vsak dan.
Trgovina Theehuis Example je začela na običajnem paketu gostovanja. Po e-novicah s popustom je v eni uri prišlo več prometa kot običajno v enem tednu, plačila pa so obtičala. V pregledu porabe je bilo največje število procesov ves čas doseženo. Vzrok: po posodobitvi teme je bil predpomnilnik strani izklopljen. Predpomnilnik so ponovno vklopili in naslednja akcija je potekala brez napake 503.
Povzetek
- Spletna trgovina je zahtevnejša od običajnega spletnega mesta: dinamične strani, zapisovanje v podatkovno zbirko, webhooki in načrtovana dejanja.
- WooCommerce priporoča PHP 8.3+, MySQL 8.0+ ali MariaDB 10.6+, omejitev pomnilnika 256 MB in HTTPS; svoje vrednosti vidite v WooCommerce > Stanje.
- Bodite pozorni na memory_limit, max_execution_time, max_input_vars (tiha izguba podatkov pri veliko različicah) in omejitve nalaganja.
- Napaka 503 ali Resource Limit Is Reached pomeni, da so meje Vašega paketa dosežene; najprej poiščite vzrok, šele nato rastite.
Kviz
Naloga
Naloga A7.2: Ali je Vaša različica PHP primerna za WooCommerce? Odprite WooCommerce > Stanje in si zapišite različico PHP (Okolje strežnika) ter omejitev pomnilnika WordPress v MB (Okolje WordPress). Vnesite naslov svoje trgovine in ti dve vrednosti. Program poišče serijo Vaše različice PHP v tabeli na php.net (katere različice še prejemajo posodobitve) in preveri, ali domača stran prikazuje glavo X-Powered-By z različico PHP. Zeleno, če je Vaša serija še aktivno podprta in je vsaj 8.3 ter je omejitev pomnilnika vsaj 256. Oranžno, če Vaša serija prejema le še varnostne posodobitve, če je nižja od 8.3, a še podprta, če je omejitev pomnilnika med 128 in 255 ali če Vaše spletno mesto prikazuje različico PHP v glavi. Rdeče, če Vaša serija ne prejema več posodobitev ali je neznana, če je omejitev pomnilnika pod 128 ali če glava prikazuje drugo serijo, kot ste jo vnesli ("ali je nameščenih več različic PHP?").
Vprašanje zase (se ne preverja): kaj v WooCommerce > Stanje piše pri max_input_vars in pri največji velikosti nalaganja? Ali je to dovolj za Vaš največji izdelek in Vašo največjo datoteko za prenos?
Za nadaljnje branje
Ti članki opisujejo korake v nadzornih ploščah WebOké; v drugih nadzornih ploščah delujejo podobno.
- Spreminjanje različice PHP in nastavitev PHP (ter kaj storiti v primeru napak po nadgradnji)
- Nalaganje ni uspelo: povečajte vrednosti upload_max_filesize in max_execution_time
- Priročnik DirectAdmin 14.1: Izbira različice PHP (Select PHP version)
- DirectAdmin Resource Usage in počasne spletne strani (Resource Limit Is Reached)
- Priročnik DirectAdmin 17.5: 503 ali 'Resource Limit Is Reached': kaj zdaj?
- Brezplačni tečaj WordPress 8.4: Različice PHP in nadgradnje
- Server requirements (woocommerce.com, angleško): https://woocommerce.com/document/server-requirements/
