เอนทิตีคำขอ 413 มีขนาดใหญ่เกินไปหมายความว่าอย่างไร

คุณเคยพยายามอัปโหลดไฟล์ใน WordPress แต่เห็นข้อผิดพลาด 413 Request Entity Too Large หรือไม่? น่ารำคาญใช่มั้ย? ไม่ต้องกังวล เรามีทางออก! ในบทความนี้ เราจะสอนวิธีแก้ไขข้อผิดพลาด 413 Request Entity Too Large ใน WordPress

ข้อผิดพลาด 413 Request Entity Too Large หมายความว่าอย่างไร

กล่าวโดยสรุปคือ ข้อผิดพลาด 413 Request Entity Too Large เกิดขึ้นเมื่อคุณพยายามอัปโหลดไฟล์ที่มีขนาดใหญ่เกินไปสำหรับเซิร์ฟเวอร์ของคุณ โดยทั่วไป ผู้ให้บริการโฮสติ้งจะมีการกำหนดค่าเฉพาะบนเซิร์ฟเวอร์ของตนสำหรับการอัปโหลดไฟล์มีเดียไปยัง WordPress ในกรณีส่วนใหญ่ การตั้งค่าเริ่มต้นก็เพียงพอแล้วสำหรับโพสต์ของคุณ

อย่างไรก็ตาม ในบางกรณี คุณอาจต้องอัปโหลดไฟล์ที่มีขนาดใหญ่กว่าขีดจำกัดขนาด และคุณจะพบข้อผิดพลาด 413

วิธีแก้ไขข้อผิดพลาด 413 Request Entity Too Large ใน WordPress

โชคดีที่มีหลายวิธีในการแก้ไขปัญหานี้ เราจะสอนสามวิธีในการจัดการกับข้อผิดพลาดใน WordPress

1. เปลี่ยนไฟล์ functions.php

คุณสามารถค้นหาไฟล์ functions.phpในโฟลเดอร์ธีม WordPress ไฟล์นี้มักจะใช้เพื่อกำหนด "คลาส" และ "การกระทำ" บนไซต์ WordPress ของคุณ สามารถเพิ่มคุณสมบัติและการทำงาน เช่น รวมภาพขนาดย่อของโพสต์ รูปแบบโพสต์ และเมนูการนำทาง

เพื่อที่จะเปลี่ยนแปลง functions.php, ไปที่ แผงควบคุมโฮสติงเกอร์. จากนั้นไปที่ ตัวจัดการไฟล์ในบท ไฟล์.

ใน ตัวจัดการไฟล์คุณจะเห็นสามโฟลเดอร์ในหนึ่งโฟลเดอร์ public_html. คลิกที่โฟลเดอร์ wp-เนื้อหาซึ่งจะแสดงรายการไฟล์ทางด้านขวา ดับเบิลคลิกโฟลเดอร์ธีมเพื่อค้นหาไฟล์ functions.php. ตรวจสอบว่าคุณเลือกไฟล์ธีมที่คุณกำลังใช้อยู่

ดับเบิลคลิกที่ไฟล์ functions.phpและเพิ่มข้อมูลโค้ดต่อไปนี้ สิ่งนี้จะเพิ่มค่า อัพโหลด_max_size, post_max_sizeและ max_execution_time.

@ini_set("upload_max_size" , "256M"); @ini_set("post_max_size", "256M"); @ini_set("max_execution_time", "300");

เมื่อเสร็จแล้ว ให้บันทึกการเปลี่ยนแปลงและลองกลับไปที่ผู้ดูแลระบบ WordPress เพื่อดูว่าข้อผิดพลาด 413 ยังคงปรากฏอยู่หรือไม่

2. เปลี่ยนไฟล์ .htaccess

วิธีที่สองคือการแก้ไขไฟล์ .htaccessดังนั้นโปรดระวังอย่าทำการเปลี่ยนแปลงโดยไม่จำเป็น

ไฟล์ .htaccessเป็นองค์ประกอบการกำหนดค่าที่เซิร์ฟเวอร์อ่าน สามารถแทนที่ตัวเลือกการกำหนดค่าเซิร์ฟเวอร์สำหรับสิ่งต่างๆ เช่น การอนุญาต การแคช หรือแม้แต่การปรับให้เหมาะสม

ในการเข้าถึงไฟล์ .htaccessคุณต้องไปที่โฟลเดอร์ public_htmlในของคุณ แผงควบคุม Hostinger. ทางด้านขวาคุณจะเห็นไฟล์ .htaccess. ดับเบิลคลิกที่มัน

คุณจะได้รับป๊อปอัปที่คุณสามารถเพิ่มรหัสได้ อ่านบรรทัดที่คุณพบ # จบเวิร์ดเพรสที่ส่วนท้ายของไฟล์ ให้วางโค้ดต่อไปนี้ลงไป:

php_value upload_max_filesize 256M php_value post_max_size 256M php_value max_execution_time 600 php_value max_input_time 600

อย่าลืมบันทึกการแก้ไขและปิดหน้าต่าง กลับไปที่ผู้ดูแลระบบ WordPress แล้วลองโหลดไซต์ซ้ำ

3. การเปลี่ยนการกำหนดค่า Nginx

หากคุณใช้ คุณจะสามารถควบคุมสภาพแวดล้อมเซิร์ฟเวอร์ส่วนใหญ่ได้ เราเข้าถึงซอฟต์แวร์เซิร์ฟเวอร์พื้นฐาน (Apache หรือ Nginx) ในสถานะเริ่มต้นเท่านั้น ซึ่งหมายความว่าหากคุณต้องการปรับแต่งเพิ่มเติม คุณสามารถตรวจสอบได้

ข้อผิดพลาด 413 Request Entity Too Large เกิดขึ้นเนื่องจากเว็บเซิร์ฟเวอร์ได้รับการกำหนดค่าให้จำกัดขนาดไฟล์ขนาดใหญ่ Nginx มี client_max_body_sizeเพื่อให้มีขนาดเนื้อความคำขอของลูกค้าสูงสุด หากคำขอเกินมูลค่า ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น ซึ่งหมายความว่าเราต้องกำหนดค่า Nginx ใหม่เพื่อให้ตรงกับขนาดที่เราต้องการโหลด

สำหรับการกำหนดค่าใหม่ nginx.confคุณต้องมีโปรแกรมแก้ไขข้อความ เราขอแนะนำโปรแกรมแก้ไขข้อความ Vi เพราะมันจะทำงานได้ดี

รับและพิมพ์คำสั่งต่อไปนี้ในเทอร์มินัลของคุณเพื่อเริ่มแก้ไขด้วย Vi:

/etc/nginx/nginx.conf

หลังจากนั้น คุณสามารถเพิ่มบรรทัดต่อไปนี้ใน nginx.conf ดังตัวอย่างด้านล่าง กำหนดขนาดสูงสุดของเนื้อหาคำขอของไคลเอ็นต์ที่เซิร์ฟเวอร์จะอนุญาต เพื่อให้แน่ใจว่าคุณป้อนหมายเลขที่ถูกต้องเป็น ขนาดสูงสุด.

# กำหนดขนาดตัวลูกค้าเป็น 8M # client_max_body_size 8M;

บันทึกและปิดไฟล์ จากนั้นคุณสามารถโหลดใหม่ได้ เว็บเซิร์ฟเวอร์ Nginxด้วยคำสั่งต่อไปนี้:

# nginx -s โหลดซ้ำ

บทสรุป

หากคุณต้องการอัปโหลดไฟล์ขนาดใหญ่กว่าที่เซิร์ฟเวอร์ของคุณอนุญาต คุณจะพบข้อผิดพลาด 413 Request Entity Too Large ใน WordPress ในบทช่วยสอนนี้เราได้กล่าวถึง 3 วิธีการที่แตกต่างกัน 413 ขอเอนทิตีใหญ่เกินไป วิธีแก้ไข

มีการระบุช่องโหว่ (CVE-2019-18634) ในยูทิลิตี sudo ซึ่งใช้เพื่อจัดระเบียบการดำเนินการของคำสั่งในนามของผู้ใช้รายอื่น ซึ่งทำให้คุณสามารถยกระดับสิทธิ์ของคุณในระบบได้ ปัญหา […]

การเปิดตัว WordPress 5.3 ปรับปรุงและขยายตัวแก้ไขบล็อกที่แนะนำใน WordPress 5.0 ด้วยบล็อกใหม่ การโต้ตอบที่ใช้งานง่ายยิ่งขึ้น และการเข้าถึงที่ดีขึ้น คุณสมบัติใหม่ในบรรณาธิการ […]

หลังจากเก้าเดือนของการพัฒนา แพ็คเกจมัลติมีเดีย FFmpeg 4.2 ก็พร้อมใช้งาน ซึ่งประกอบด้วยชุดแอปพลิเคชันและคอลเลกชันของไลบรารีสำหรับการดำเนินการในรูปแบบมัลติมีเดียต่างๆ (เบิร์น แปลง และ […]

  • คุณสมบัติใหม่ใน ลินุกซ์ มิ้นท์ 19.2 อบเชย

    Linux Mint 19.2 เป็นรุ่นที่รองรับระยะยาวซึ่งจะรองรับจนถึงปี 2023 มันมาพร้อมกับการปรับปรุง ซอฟต์แวร์และมีการปรับปรุงและใหม่ ๆ มากมาย […]

  • การกระจาย Linux Mint 19.2 เปิดตัวแล้ว

    การเปิดตัวชุดแจกจ่าย Linux Mint 19.2 ซึ่งเป็นการอัปเดตครั้งที่สองของสาขา Linux Mint 19.x สร้างขึ้นบนฐานแพ็คเกจ Ubuntu 18.04 LTS และรองรับจนถึงปี 2023 การจัดจำหน่ายเข้ากันได้อย่างสมบูรณ์ […]

  • บริการใหม่ของ BIND มีการแก้ไขข้อบกพร่องและการปรับปรุงคุณสมบัติ สามารถดาวน์โหลดรุ่นใหม่ได้จากหน้าดาวน์โหลดบนเว็บไซต์ของผู้พัฒนา: […]

    Exim เป็นตัวแทนการถ่ายโอนข้อความ (MTA) ที่พัฒนาโดยมหาวิทยาลัยเคมบริดจ์เพื่อใช้ใน ระบบยูนิกซ์เชื่อมต่อกับอินเทอร์เน็ต ใช้ได้ฟรีตาม […]

    หลังจากเกือบสองปีของการพัฒนา ZFS บน Linux 0.8.0 ได้รับการเผยแพร่และดำเนินการ ระบบไฟล์ ZFS บรรจุเป็นโมดูลสำหรับเคอร์เนล Linux โมดูลได้รับการทดสอบกับเคอร์เนล Linux ตั้งแต่ 2.6.32 ถึง […]

    IETF (Internet Engineering Task Force) ซึ่งพัฒนาโปรโตคอลและสถาปัตยกรรมของอินเทอร์เน็ต ได้สร้าง RFC สำหรับ ACME (Automatic Certificate Management Environment) […]

    Let’s Encrypt หน่วยงานออกใบรับรองที่ไม่แสวงหากำไรซึ่งควบคุมโดยชุมชนและมอบใบรับรองฟรีให้กับทุกคน สรุปปีที่ผ่านมาและพูดคุยเกี่ยวกับแผนสำหรับปี 2019 […]

    413 ขอเอนทิตีใหญ่เกินไป

    ข้อผิดพลาดนี้อาจปรากฏขึ้นหากคุณอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์และขนาดของไฟล์นี้เกินขนาดสูงสุดที่อนุญาตในการกำหนดค่าเว็บเซิร์ฟเวอร์ (เช่น nginx มีขีดจำกัด 1 MB ตามค่าเริ่มต้น) ในการแก้ไขปัญหานี้ คุณต้องทำการเปลี่ยนแปลงบางอย่างกับไฟล์การกำหนดค่า ซึ่งอาจแตกต่างกันไปขึ้นอยู่กับเว็บเซิร์ฟเวอร์ที่ใช้ ด้านล่างนี้คือตัวอย่างสำหรับเว็บเซิร์ฟเวอร์ยอดนิยม:

    จิงซ์

    ขนาดไฟล์สูงสุดระบุโดยพารามิเตอร์ client_max_body_size ดังนั้นจึงเพียงพอแล้วที่จะลงทะเบียนพารามิเตอร์และค่าใหม่ในการกำหนดค่าใดๆ ที่ใช้ nginx สำหรับไซต์ที่คุณประสบปัญหานี้ คุณควรได้รับสิ่งต่อไปนี้:

    เซิร์ฟเวอร์ ( ... client_max_body_size 4m; ... )

    โดยที่ 4m คือ 4 MB หากต้องการกำหนดขีดจำกัดเป็น 32 MB ให้เขียน client_max_body_size 32m ตามนั้น เป็นต้น

    หลังจากเปลี่ยนการตั้งค่า อย่าลืมโหลดการกำหนดค่าซ้ำใน nginx

    อาปาเช่

    ขนาดของไฟล์ที่อนุญาตให้อัปโหลดสามารถปรับได้ในการกำหนดค่า Apache หลัก ซึ่งสามารถดูได้ที่ /etc/httpd/conf/httpd.conf (บน CentOS) หรือ /etc/apache2/apache2.conf (บน Debian/Ubuntu ). ตั้งค่าโดยพารามิเตอร์ LimitRequestBody และคุณสามารถตั้งค่าที่ต้องการได้ หน่วยเป็นไบต์. ตัวอย่างเช่น ขีดจำกัด 32 MB จะมีลักษณะดังนี้:

    LimitRequestBody 33554432

    หากต้องการใช้การตั้งค่า คุณต้องรีสตาร์ทเว็บเซิร์ฟเวอร์ Apache

    พี.เอช.พี

    หากเมื่ออัพโหลดไฟล์ที่คุณใช้ สคริปต์ PHPมีการตั้งค่าขนาดไฟล์สูงสุดแยกต่างหากสำหรับ PHP ในการเปลี่ยนแปลง คุณจะต้องแก้ไขไฟล์ php.ini ซึ่งอยู่ที่ /etc//fpm เปิดด้วยอะไรก็ได้ โปรแกรมแก้ไขข้อความและค้นหาบรรทัดต่อไปนี้

    ข้อผิดพลาด nginx 413 ขอเอนทิตีใหญ่เกินไป” อาจเกิดขึ้นเมื่อส่งคำขอจำนวนมากไปยังเซิร์ฟเวอร์ (เช่น การดาวน์โหลดไฟล์ เป็นต้น) สาเหตุของข้อผิดพลาดสามารถอยู่ในสองที่

    - ในการกำหนดค่า ไฟล์ nginxค่าน้อยเกินไปที่ระบุโดยตัวแปร client_max_body_size

    (หายากกว่า) - ค่า LimitRequestBody ตั้งไว้ต่ำเกินไปในไฟล์กำหนดค่า apache

    วิธีแก้ไข. งินซ์

    ในการแก้ไขข้อผิดพลาด ให้เปิดไฟล์การกำหนดค่า nginx ( โดยปกติแล้ว /etc/nginx/nginx.conf ) และในส่วน httpเพิ่มบรรทัด (หากมีอยู่แล้วให้แทนที่):

    Client_max_body_size 200M;

    โดยที่ 200M — ปริมาณสูงสุดคำขอ (ไฟล์) ในกรณีนี้คือ 200 เมกะไบต์ คำนำหน้า M - เมกะไบต์ G - กิกะไบต์ ผลลัพธ์ควรเป็นดังนี้:

    วิธีแก้ไข. อาปาเช่

    เปิดไฟล์ปรับแต่ง apache สำหรับ centOS โดยปกติจะเป็น /etc/httpd/conf/httpd.conf) และการค้นหา LimitRequestBody ระบุค่าที่ต้องการเป็นไบต์ ตัวอย่างเช่น 1GB:

    LimitRequestBody 1073741824

    ตามค่าเริ่มต้น ระบบจะพิจารณาว่าค่าของตัวแปรนี้ ( หากไม่ได้เขียนไว้อย่างชัดเจนใน httpd.conf) เท่ากับสองกิกะไบต์ ( 2147483647 ไบต์) ดังนั้นหากไม่มีการตั้งค่าที่อื่น ก็มักจะไม่มีปัญหากับ Apache



    กำลังโหลด...
    สูงสุด