ฉันไม่สามารถบันทึกผลิตภัณฑ์ใน Magento 2
มันแสดง " คีย์แบบฟอร์มไม่ถูกต้องโปรดรีเฟรชหน้าเว็บในท้องถิ่น
วิธีแก้ปัญหานี้
ฉันไม่สามารถบันทึกผลิตภัณฑ์ใน Magento 2
มันแสดง " คีย์แบบฟอร์มไม่ถูกต้องโปรดรีเฟรชหน้าเว็บในท้องถิ่น
วิธีแก้ปัญหานี้
คำตอบ:
ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากตัวแปร php.ini " max_input_vars " เพิ่มขึ้นเป็น 10,000 ผ่านฟังก์ชัน php ด้านล่าง:
ini_set('max_input_vars', 10000);
หรือการใช้บรรทัดคำสั่ง linux
cd /etc/php/7.0/apache2/
vi php.ini (Open for edit and set max_input_vars=10000)
:wq(Press esc and write the mentioned command to save and exit)
sudo /etc/init.d/apache2 restart(Restart Server)
max_input_vars
เป็น 10,000 แต่ยังคงมีปัญหาเดียวกัน ฉันทำงานในท้องถิ่น (โดยใช้ Ubuntu 16.04) และ magento 2.3
หากคุณใช้งานเว็บไซต์ Magento นี้ในเครื่องท้องถิ่น (โฮสต์ท้องถิ่น) ตามที่คำถามของคุณดูเหมือนว่าคุณอาจมีปัญหาในการใช้: http: // localhost / syntax เนื่องจาก Magento 2 ไม่ทราบวิธีจัดการคุกกี้อย่างสมบูรณ์ .
ฉันขอแนะนำให้ใช้http://127.0.0.1/เพื่อเข้าถึงเว็บไซต์ท้องถิ่นแทน ในกรณีนี้เบราว์เซอร์ของคุณควรสามารถจดจำได้ง่ายขึ้นและทำงานกับคุกกี้ของ Magento อย่างถูกต้อง
คุณอาจต้องตั้งค่าโดเมนคุกกี้ในส่วนผู้ดูแลระบบของ Magento
ฉันหวังว่านี่จะช่วยได้...
ปัญหานี้เกิดขึ้นหลังจากเพิ่มตัวเลือกและหมวดหมู่ที่กำหนดเองในผลิตภัณฑ์ดังนั้นเนื่องจากไฟล์ php.ini ไม่ได้รับอนุญาตให้เพิ่มตัวเลือกที่กำหนดเองเพิ่มเติม
ดังนั้นเราต้องเปลี่ยนการตั้งค่าเริ่มต้นของไฟล์ php.ini
ถ้า php เวอร์ชั่น 7.1 แสดงว่า
/etc/php/7.1/apache2/php.ini
หาก php เวอร์ชัน 7.0 เป็นเช่นนั้น
/etc/php/7.0/apache2/php.ini
ถ้า php เวอร์ชั่น 7.2 แล้ว
/etc/php/7.0/apache2/php.ini
ยกเลิกหมายเหตุค่านี้และอัปเดตค่าทั้งหมดนี้ใน php.ini
max_input_vars = 200000
max_input_time = 600
max_execution_time = 3600
จากนั้นรีสตาร์ทเว็บเซิร์ฟเวอร์ Apache 2 และตรวจสอบ
sudo service apache2 restart
ลองใช้ระบบ Ubuntu 14.0.4 นี้ในข้อผิดพลาดที่สำคัญแบบฟอร์มไม่ถูกต้อง 2.3
ฉันเผชิญกับข้อผิดพลาดของคีย์แบบฟอร์มที่ไม่ถูกต้องในการแทรกด้าน frondend แต่เบราว์เซอร์ crome เกิดข้อผิดพลาดนี้เท่านั้นการแทรกทำงานอย่างถูกต้องในเบราว์เซอร์ Firefox
ฉันแก้ไขข้อผิดพลาดต่อไปนี้ขั้นตอน: -
เปลี่ยน URL ฐานของคุณจาก localhost เป็น 127.0.0.1
การใช้ localhost เป็นโดเมนใน URL พื้นฐานของคุณทำให้เกิดปัญหาใน Magento 2
การกำหนดค่า URL พื้นฐานของวีโอไอพีอยู่ในตาราง core_config_data อาจจำเป็นต้องเปลี่ยนค่าต่อไปนี้:
web / unsecure / base_url web / secure / base_url ตัวอย่างเช่นหากก่อนหน้านี้คุณมีhttp: // localhost / magento2community /คุณควรเปลี่ยนเป็นhttp://127.0.0.1/magento2community/
หลังจากเปลี่ยน URL แล้วให้ล้างแคช (bin / magento cache: flush) คุณอาจต้องล้างไดเรกทอรี var ของคุณด้วย
ฉันค้นหาวิธีนี้ผ่านไลค์ https://magento.stackexchange.com/a/122167/78151
หลังจากพยายามปรับแต่งทั้งหมดที่แนะนำไปยัง php.ini และทำความสะอาดแคชอย่างไม่สิ้นสุด magento2 ของฉันยังคงไม่ยอมรับคุกกี้จาก localhost แม้ว่าฉันจะใช้ชื่อเครื่อง linux แทนทำให้ดูเหมือนเป็นชื่อโดเมน ในที่สุดฉันก็หันไปใช้ localho.st ซึ่งเป็นชื่อโดเมนที่แก้ไข DNS ไปยังที่อยู่ IP ในพื้นที่ของคุณและนี่คือสิ่งที่ใช้งานได้
การตั้งค่า max_input_vars เป็น 10,000 ใน php.ini ได้แก้ไขปัญหาของฉันแล้ว
ในกรณีของฉันมันเป็นเพราะการตั้งค่าการป้องกันเว็บไซต์ของ Firefox
Firefox บล็อกคุกกี้บางตัวที่ Magento2 ต้องการ
ดังนั้นฉันต้องปิดการใช้งานโดยไปที่การตั้งค่า -> ความเป็นส่วนตัวและความปลอดภัย -> ความเป็นส่วนตัวของเบราว์เซอร์และเลือก "กำหนดเอง" และยกเลิกการเลือกตัวเลือก "คุกกี้"
การเปลี่ยน URL พื้นฐานจาก localhost เป็น 127.0.0.1 ทำเคล็ดลับสำหรับฉัน
ลงชื่อเข้าใช้ cpanel หรือรูทการเข้าถึงวีโอไอพีของคุณผ่านทาง FTP เปิดไฟล์ของคุณ php.ini หากคุณเพิ่ม maxinput_vars เพิ่มจำนวนขึ้นเป็น 10,000 หรือเคยผ่านมาที่ด้านล่างของไฟล์ max_input_vars = 10,000 บันทึกไฟล์ของคุณและรีเฟรชวีโอไอพี