Variantai arba meniu nėra išsaugomi: padidinkite max_input_vars reikšmę
Redaguojate produktą su daug variacijų arba didelį meniu WordPress sistemoje ir spaudžiate Atnaujinti. Klaidos pranešimo nematote, bet po puslapio perkrovimo dalis Jūsų pakeitimų dingsta: paskutinės variacijos turi senas kainas arba meniu apačioje trūksta elementų. Tokiu atveju priežastis beveik visada yra PHP nustatymas max_input_vars.
Kas yra max_input_vars?
Išsaugant duomenis, Jūsų naršyklė visus formos laukus išsiunčia į serverį vienu kartu. Kintamo produkto atveju tai yra daug laukų kiekvienai variacijai: kaina, atsargos, SKU, svoris ir kiti. Didelio meniu atveju kiekvienas meniu elementas sudaro tam tikrą kiekį laukų. PHP vienos užklausos metu priima tik tam tikrą kiekį laukų: tai ir yra max_input_vars. Pati PHP numatytai turi reikšmę 1000. Jei gaunama daugiau laukų, PHP likusius laukus praleidžia be jokio pranešimo. WordPress ir WooCommerce tuomet išsaugo tik tai, kas buvo gauta.
WooCommerce administravimo skydelyje rodo 15 variacijų per puslapį, kad tai apribotų. Tačiau turint daug atributų ir laukų, ribą vis tiek galima pasiekti.
Dabartinės reikšmės peržiūra
- WooCommerce sistemoje: WooCommerce > Status, prie PHP Max Input Vars.
- DirectAdmin sistemoje: Select PHP version, skirtukas Options, prie
max_input_vars.
max_input_vars padidinimas pas WebOké
- Prisijunkite prie DirectAdmin: Mano WebOké skiltyje eikite į Mano produktai ir prie savo hostingo paketo spustelėkite DirectAdmin.
- Skiltyje Extra Programų spustelėkite Select PHP version.
- Patikrinkite, ar pasirinkta versija, kurią naudoja Jūsų svetainė. Parinktis nustatote kiekvienai PHP versijai atskirai.
- Eikite į skirtuką Options, spustelėkite reikšmę šalia
max_input_varsir pasirinkite didesnę reikšmę, pavyzdžiui,3000arba5000. - Pakeitimas išsaugomas iškart ir galioja visoms Jūsų pakete esančioms svetainėms, kurios naudoja tą PHP versiją.
Jei PHP versija nustatyta kaip native, skiltyje Options nieko pakeisti negalėsite. Tokiu atveju pirmiausia pasirinkite fiksuotą versiją. Paaiškinimas su ekrano nuotraukomis pateiktas straipsnyje PHP parinktys: upload_max_filesize, memory_limit ir max_execution_time bei straipsnyje PHP versijos ir PHP nustatymų keitimas (ir ką daryti, jei po atnaujinimo atsiranda klaidų).
Nenorite ieškoti patys? DI asistentas Mano WebOké skiltyje gali už Jus pakeisti max_input_vars toje PHP versijoje, kurią naudoja Jūsų paketas. Pirmiausia pamatysite, kas bus pakeista, ir patys tai patvirtinsite.
Patikrinimas, ar tai veikia
- Pažiūrėkite skiltyje WooCommerce > Status, ar rodoma nauja reikšmė.
- Jei vis dar rodoma sena reikšmė, patikrinkite, ar Jūsų
.htaccessfaile nėra senos eilutėsphp_value max_input_vars, arba ar DirectAdmin PHP nustatymuose Jūsų domenui nėra nustatyta atskira reikšmė. Jos turi pirmenybę. Žiūrėkite PHP nustatymai DirectAdmin arba Select PHP version: koks skirtumas? - Vėl redaguokite produktą arba meniu, išsaugokite ir po puslapio perkrovimo patikrinkite, ar viskas išsaugota. Tai, kas jau buvo prarasta, teks įvesti iš naujo.
Daugiau informacijos
- PHP vadovas: max_input_vars (anglų kalba)
