Modul 7 · 7.2
Hvad en shop kræver af hosting
Modul 7: Synlighed og hosting · Læsetid: 10 minutter
Læringsmål: Efter denne lektion kan du vurdere, om et hostingpakke passer til en WooCommerce-shop, tjekke og justere de vigtigste PHP-indstillinger og genkende, hvornår din pakke bliver for lille.
Centrale begreber: serveranbefalinger, PHP version, WordPress hukommelsesgrænse (WP_MEMORY_LIMIT), memory_limit, max_execution_time, max_input_vars, upload_max_filesize, database, objektcache, CPU, processer, 503, Resource Limit Is Reached, WooCommerce > Status, vækst
En shop er tungere end et almindeligt websted
Et almindeligt WordPress-websted med sidecache leverer de fleste besøg fra gemt HTML. En shop kan kun gøre det halvt (lektion 6.4): kurv, kasse og Min konto bliver lavet på ny for hver besøgende, og så snart nogen lægger noget i kurven, får de en session, og cachen virker ofte ikke længere for dem. Oven i det:
- hver bestilling skriver til databasen (ordre, linjer, adresser, lager, noter);
- betalingsudbyderen melder via en webhook, at der er betalt, og den forespørgsel skal have hurtigt svar;
- WooCommerce har planlagte handlinger, der kører i baggrunden (lektion 7.3);
- administrationen (ordrer, rapporter, redigering af produkter) er tungere end på en blog.
En shop, der kører fint på en lille pakke med ti bestillinger om dagen, kan gå i stå under et udsalg med hundredvis af samtidige besøgende. Derfor betaler det sig at vide, hvad din pakke kan klare.
Hvad WooCommerce anbefaler
WooCommerce offentliggør anbefalede serverindstillinger (status november 2026, for version 10.8 og nyere):
| Del | Anbefaling |
|---|---|
| WordPress | 6.9 eller nyere |
| PHP | 8.3 eller nyere (testet til og med 8.4) |
| Database | MySQL 8.0 eller nyere, eller MariaDB 10.6 eller nyere |
| WordPress hukommelsesgrænse | 256 MB eller mere |
| HTTPS | påkrævet |
Det er anbefalinger, ikke et minimum: selve pluginnet kræver PHP 7.4 for at kunne installeres. Men en shop på en gammel PHP-version er langsommere og får ikke længere sikkerhedsopdateringer. Hvordan du sikkert skifter til en nyere PHP-version, står i WordPress-kurset, lektion 8.4; processen er den samme for en shop, du tester bare kassen og betalingen ekstra grundigt i staging.
Hvor ser du, hvad du har nu? Under WooCommerce > Status (Systemstatus). Her finder du under WordPress-miljø blandt andet WordPress hukommelsesgrænse, og under Server-miljø PHP version, PHP-grænserne og databaseversionen. Ved problemer beder en udvikler eller supporten for et plugin ofte om denne rapport; med knappen til at hente systemrapporten ("Get system report") kopierer du den.
De PHP-indstillinger, der betyder noget
Fire indstillinger møder du oftest i en shop:
- memory_limit (og WP_MEMORY_LIMIT): hvor meget arbejdshukommelse én PHP-forespørgsel må bruge. For lidt giver en hvid side eller "Allowed memory size exhausted", ofte ved rapporter, import eller redigering af et stort variabelt produkt. WooCommerce anbefaler en WordPress hukommelsesgrænse på 256 MB. WordPress bruger værdien fra wp-config.php (
WP_MEMORY_LIMIT), men aldrig mere, end PHP selv tillader. - max_execution_time: hvor lang tid én forespørgsel må tage. En CSV-import eller en eksport af tusind ordrer kan tage længere end standarden. Importér hellere i mindre dele end at sætte grænsen meget højt.
- max_input_vars: hvor mange felter en formular må sende. Ved et variabelt produkt med mange varianter, eller en stor menu, sender administrationen hundredvis af felter med. Er grænsen for lav, bliver de sidste felter stiltiende kasseret: du klikker på Opdater, ser ingen fejl, men en del af dine varianter er ikke gemt. Opdager du det, så hæv værdien (for eksempel til 3000 eller 5000), eller lav færre varianter (lektion 3.2).
- upload_max_filesize og post_max_size: hvor stor en upload må være. Vigtigt for produktbilleder og for produkter til download (lektion 3.3).
Hos de fleste hostingudbydere ændrer du disse værdier i kontrolpanelet. Hos WebOké sker det i DirectAdmin under PHP-indstillingerne for din pakke (se KB 212 og KB 200); hos andre udbydere fungerer det på lignende måde, nogle gange via en .user.ini eller et php.ini-skærmbillede. Ændr én værdi ad gangen, og tjek i WooCommerce > Status, at den er slået igennem.
Når pakken bliver for lille
På delt hosting har hver pakke grænser: hvor meget CPU, hvor meget hukommelse og hvor mange processer på én gang. Hos WebOké og andre udbydere med CloudLinux ser du dem i DirectAdmin under forbruget for din pakke. Går din shop over dem, får besøgende en 503 eller en meddelelse som "Resource Limit Is Reached". For en shop er det ekstra ærgerligt: en kunde, der lige skal betale, eller en webhook fra betalingsudbyderen, der ikke får svar, så en betalt ordre bliver stående på "Afventer betaling".
Se først efter, hvad der skaber belastningen, før du vælger en større pakke. De mest almindelige årsager i shops:
- ingen eller en forkert opsat sidecache (lektion 6.4);
- bots, der kravler gennem filtre, søgeresultater eller
?add-to-cart=-links; - WP-Cron ved hvert besøg og en fuld kø af planlagte handlinger (lektion 7.3);
- tunge plugins eller et tema, der laver mange databaseforespørgsler på hver side;
- ingen objektcache (Redis) ved mange indloggede kunder (lektion 6.4).
Værktøjer til at finde årsagen er forbrugsoversigten for din pakke, logfilerne og hos nogle udbydere et værktøj som PHP X-Ray, der for hver side viser, hvilken funktion der er langsom (KB 227).
Er shoppen sat godt op, og rammer du alligevel grænserne, så er det tid til at vokse: en større pakke eller en egen server (VPS), hvor du selv bestemmer, hvor mange processer PHP må køre. Det skridt kræver også mere administration. Planlæg det ikke midt i din travleste uge; test først på det nye sted (lektion 7.3).
Hvad der ellers hører til en shop
Ud over PHP kræver en shop af sin hosting:
- HTTPS med automatisk fornyelse af certifikatet (WordPress-kurset, lektion 3.1);
- backups, der tages ofte nok til dine ordrer, med en gendannelsestest (lektion 6.2);
- rigtig cron til planlagte opgaver (lektion 7.3);
- pålidelig mail eller en kobling til en maildienst (lektion 6.1);
- en mulighed for staging (lektion 7.3);
- en database, der er stor nok: ordrer og planlagte handlinger vokser hver dag.
Hos Tehus Example startede shoppen på et almindeligt hostingpakke. Efter et nyhedsbrev med rabat kom der på en time mere trafik end normalt på en uge, og betalinger hang. I forbrugsoversigten var det maksimale antal processer hele tiden nået. Årsagen: sidecachen var slået fra efter en temaopdatering. Cachen blev slået til igen, og den næste kampagne kørte uden 503.
Opsummering
- En shop er tungere end et almindeligt websted: dynamiske sider, skrivninger til databasen, webhooks og planlagte handlinger.
- WooCommerce anbefaler PHP 8.3+, MySQL 8.0+ eller MariaDB 10.6+, en hukommelsesgrænse på 256 MB og HTTPS; du ser dine værdier i WooCommerce > Status.
- Hold øje med memory_limit, max_execution_time, max_input_vars (stille datatab ved mange varianter) og uploadgrænser.
- En 503 eller Resource Limit Is Reached betyder, at din pakkes grænser er nået; find først årsagen, og voks derefter.
Quiz
Opgave
Opgave A7.2: Passer din PHP til WooCommerce? Åbn WooCommerce > Status, og notér PHP version (Server-miljø) og WordPress hukommelsesgrænse i MB (WordPress-miljø). Udfyld adressen på din shop og de to værdier. Programmet slår din PHP-versions serie op i tabellen på php.net (hvilke versioner der stadig får opdateringer) og ser, om forsiden viser en headerlinje X-Powered-By med en PHP-version. Grøn, hvis din serie stadig understøttes aktivt og er mindst 8.3, og hukommelsesgrænsen er mindst 256. Orange, hvis din serie kun får sikkerhedsopdateringer, er lavere end 8.3 men stadig understøttes, hvis hukommelsesgrænsen ligger mellem 128 og 255, eller hvis dit websted viser PHP-versionen i en headerlinje. Rød, hvis din serie ikke længere får opdateringer eller er ukendt, hukommelsesgrænsen er under 128, eller headerlinjen viser en anden serie end den, du udfyldte ("kører der flere PHP-versioner?").
Spørgsmål til dig selv (rettes ikke): hvad står der i WooCommerce > Status ved max_input_vars og ved den maksimale uploadstørrelse? Er det nok til dit største produkt og din største download?
Læs videre
Disse artikler beskriver trinene i WebOkés kontrolpaneler; i andre kontrolpaneler fungerer de på lignende måde.
- Skift PHP-version og PHP-indstillinger (og hvad du gør ved fejl efter en opgradering)
- Upload mislykkedes: forøg upload_max_filesize og max_execution_time
- DirectAdmin vejledning 14.1: Sådan vælger du PHP-version (Select PHP version)
- DirectAdmin Resource Usage og langsomme hjemmesider (Resource Limit Is Reached)
- DirectAdmin vejledning 17.5: 503 eller "Resource Limit Is Reached": hvad gør du nu?
- Gratis WordPress-kursus 8.4: PHP-versioner og opgraderinger
- Server requirements (woocommerce.com, engelsk): https://woocommerce.com/document/server-requirements/
