Nem mentődik a sok adat (variációk, adókulcsok)
Mit tegyél, ha sok variációt, adókulcsot vagy más nagy űrlapadatot mentesz, és egy része elvész: max_input_vars, Suhosin és mod_security.
Ha egy termékhez sok variációt veszel fel, vagy hosszú adókulcslistát mentesz, előfordulhat, hogy a mentés után az adatok egy része hiányzik, vagy a mentés hibával áll le. Ilyenkor szinte mindig a szerver korlátozza, hány mezőt fogad el egyetlen űrlapküldésnél. Három tipikus ok van: a PHP max_input_vars beállítása, a Suhosin biztonsági modul és az Apache mod_security modulja.
Előbb erősítsd meg az okot
Szekció neve “Előbb erősítsd meg az okot”Mielőtt bármit átállítasz, nézd meg, tényleg a mezőszám-korlát okozza-e a gondot.
- Nyisd meg a WooCommerce → Állapot oldalt, a Rendszerállapot fülön.
- Keresd meg a Szerver környezet szakaszt, és olvasd le a PHP bemeneti változóinak korlátját.

A képen a PHP Max Input idő sorban látható 1000 a max_input_vars értéke (a felületen a felirat tévesen „idő”). Ha ez kevesebb, mint az űrlapod mezőinek száma (például sok variációjú terméknél), a szerver csendben levágja a felesleget mentéskor.
Segíthet az ingyenes WP Max Submit Protect bővítmény is: figyelmeztet, ha egy űrlap több mezőt küld, mint amennyit a szerver enged. Telepítés előtt ellenőrizd, hogy kompatibilis-e a WordPress-szel.
A max_input_vars emelése
Szekció neve “A max_input_vars emelése”A max_input_vars PHP-beállítás azt korlátozza, hány bemeneti változót fogad el a szerver egyetlen űrlapküldésnél. Az alapértéke általában 1000. Ennél több mezőt tartalmazó űrlapnál az adat levágódik, és nem mentődik el.
A php.ini fájlban emeld meg az értékét:
max_input_vars = 3000Ha nem érsz el a php.ini-hez (például megosztott tárhelyen), próbáld a .htaccess fájlban:
php_value max_input_vars 3000Suhosin
Szekció neve “Suhosin”A Suhosin egy PHP biztonsági modul, régebbi vagy speciális tárhelyeken fordul elő. Ha be van kapcsolva, a saját mezőkorlátait is meg kell emelni. A módosítás tárhelyenként más, ezért érdemes a szolgáltatódhoz fordulni. Van, ahol a php.ini, a suhosin.ini vagy a .htaccess is jó erre.
Ezeket az értékeket szokás megemelni:
suhosin.post.max_array_index_length = 256suhosin.post.max_totalname_length = 65535suhosin.post.max_vars = 1024suhosin.post.max_name_length = 256suhosin.request.max_varname_length = 256suhosin.request.max_array_index_length = 256suhosin.request.max_totalname_length = 65535suhosin.request.max_vars = 1024A mentés után indítsd újra a szervert, hogy érvénybe lépjenek. Megosztott tárhelyen, ha a php.ini nem szerkeszthető, a .htaccess fájlban is megadhatod:
php_value suhosin.max_array_index_length 256php_value suhosin.post.max_array_index_length 256php_value suhosin.post.max_totalname_length 65535php_value suhosin.post.max_vars 1024php_value suhosin.post.max_name_length 256php_value suhosin.request.max_varname_length 256php_value suhosin.request.max_array_index_length 256php_value suhosin.request.max_totalname_length 65535php_value suhosin.request.max_vars 1024Ha a tárhelyed dokumentációja nem segít, nyiss ügyfélszolgálati jegyet.
Ha nem latin karaktereket használsz (például ékezetes vagy más írásrendszerű neveket), és emiatt nem mentődnek az adatok, emeld meg ezt az alapértelmezett 64 értékről:
suhosin.request.max_varname_length = 256mod_security
Szekció neve “mod_security”Az Apache mod_security modulja is blokkolhatja a mentést. Ilyenkor gyakori a 503-as hiba. Ezt csak a tárhelyszolgáltató tudja megoldani. Lehetséges megoldások:
- Kérd meg a szolgáltatót, hogy úgy állítsa be a mod_securityt, hogy átengedje az adatot.
- Kérd meg, hogy kapcsolja ki a mod_securityt az oldaladra, vagy a te IP-címedre.
- Csak a Dreamhostnál: kapcsold ki az Extra web security beállítást a vezérlőpulton.
Készült: