คำเตือน PHP: POST เนื้อหาความยาว 8978294 ไบต์เกินขีด จำกัด 8388608 ไบต์ใน Unknown on line 0


217

ฉันได้รับข้อผิดพลาดนี้เมื่อพยายามอัปโหลดการนำเข้าบน WordPress ในสภาพแวดล้อมการพัฒนาท้องถิ่น XAMPP ของฉัน:

คำเตือน: POST เนื้อหาความยาว 8978294 ไบต์เกินขีด จำกัด 8388608 ไบต์ใน Unknown on line 0

ฉันเปลี่ยนupload_max_filesizeจาก2Mเป็น1000Mแต่ดูเหมือนจะไม่ทำอะไรเลย

ความคิดใด ๆ


19
ลองเพิ่ม post_max_size เป็น 20M
Dr. Dan

หากคุณกำลังพิจารณาเพียงอัปโหลด WP - เพียงเพิ่ม post_max_size (อัปโหลดปัจจุบันทั้งหมดเข้าด้วยกัน) และอาจ upload_max_filesize (สำหรับไฟล์เดียว) ... อย่างไรก็ตามหากคุณต้องการซ่อนข้อผิดพลาดหากมีคนพยายามอัปโหลดไฟล์ที่มีขนาดใหญ่เกินไป (มากกว่า ขีด จำกัด ของคุณ) ดูstackoverflow.com/questions/21704930/…
jave.web

4
หมายเหตุถึงผู้คนที่เดินผ่าน: ข้อผิดพลาดและการแก้ไขนี้ไม่เฉพาะกับ WordPress หรือ XAMPP โดยทั่วไปจะใช้กับข้อผิดพลาด PHPPOST Content-Length of X bytes exceeds the limit of Y
code_monk

สำเนาที่เป็นไปได้ของความยาวเนื้อหา POST เกินขีด จำกัด
Shashanth

ตรวจสอบให้แน่ใจว่าคุณกำลังอัปเดต php.ini ที่ถูกต้อง: stackoverflow.com/a/58999601/470749
Ryan

คำตอบ:


336

8388608 ไบต์คือ 8M, ขีด จำกัด เริ่มต้นใน PHP อัปเดตของคุณpost_max_sizeใน php.ini เป็นค่าที่มากขึ้น

upload_max_filesizeตั้งค่าขนาดไฟล์สูงสุดที่ผู้ใช้สามารถอัปโหลดได้ในขณะที่ post_max_sizeตั้งค่าจำนวนข้อมูลสูงสุดที่สามารถส่งผ่าน POST ในรูปแบบ

ดังนั้นคุณสามารถตั้งค่าupload_max_filesizeเป็น 1 เมกะไบต์ซึ่งหมายความว่าไฟล์เดียวที่ใหญ่ที่สุดที่ผู้ใช้สามารถอัปโหลดคือ 1 เมกะไบต์ แต่พวกเขาสามารถอัปโหลด 5 ไฟล์พร้อมกันหากpost_max_sizeตั้งไว้ที่ 5


3
นอกจากนี้ยังให้แน่ใจว่าคุณตรวจสอบไฟล์ .htaccess สำหรับค่าเดียวกันที่อาจได้รับการแทนที่
jay

ฉันมีปัญหาที่ฉันลืมตั้งหน่วย 'M' - เมกะไบต์ขอบคุณมาก!
Pini Cheyni

3
หากไม่รีสตาร์ท Xamp มันไม่ได้ผลสำหรับฉัน อาจชัดเจนสำหรับ PHP dev ขั้นสูง แต่มันไม่ได้สำหรับฉัน
ehh

สำหรับ nginx คุณอาจต้องรีสตาร์ท php7.2-fpm.service เซิร์ฟเวอร์ CGI ใด ๆ ที่รวดเร็ว
pbies

53

เพียงแค่ตั้งค่าเหล่านี้ใน php.ini:

upload_max_filesize = 1000M;
post_max_size = 1000M;

ทุกวันนี้ชื่อไฟล์จะเป็นที่แน่นอนที่สุด.user.ini
yunzen


19

1. ก่อนอื่นคุณจะพบไฟล์ php.ini

คุณสามารถค้นหาไฟล์ php.iniจากพา ธ นี้ C: \ xampp \ php หรือจาก โฟลเดอร์xampp

2. ตอนนี้เปิดไฟล์ php.ini และเปลี่ยนสิ่งต่อไปนี้:

1. post-max-size (เปลี่ยน8Mเป็น800M )

2. upload-max-filesize (เปลี่ยน2Mเป็น2000M )

3. หยุดเซิร์ฟเวอร์ Apache และ MySQL

4. ตอนนี้รีสตาร์ทเซิร์ฟเวอร์ Apache และ MySQL

มันทำงานได้ดีหลังจากนั้น

สนุกกับการทำงานตอนนี้ :)


15

รีสตาร์ทเว็บเซิร์ฟเวอร์ของคุณแล้วหรือยัง?

สิ่งนี้จะบังคับให้ php โหลดซ้ำ php.ini


14

คุณจะต้องเปลี่ยนค่าของ

post-max-size
upload-max-filesize

ทั้งสองอย่างนี้คุณจะพบในphp.ini

การรีสตาร์ทเซิร์ฟเวอร์ของคุณจะช่วยให้มันเริ่มทำงานได้ บนเซิร์ฟเวอร์ทดสอบโลคัลที่ใช้ XAMIP ฉันต้องหยุดเซิร์ฟเวอร์ Apache และรีสตาร์ท มันทำงานได้ดีหลังจากนั้น



7
  1. สร้างไฟล์ข้อความใหม่ในรูทไดเรกทอรี wp-admin ของเราและตั้งชื่อเป็น info.php
  2. เปิด info.php และเพิ่มบรรทัดเหล่านี้:
  1. บันทึกไว้
  2. ไปที่ yourwebsitename (อาจเป็น localhost) /wp-admin/info.php ในทุกเว็บเบราว์เซอร์
  3. ในบรรทัดที่ 8 คุณจะเห็น: เส้นทางไฟล์การกำหนดค่า (php.ini) ในกรณีของฉันคือ C: \ Windows หมายถึงมันอยู่ในไดรฟ์ C ของฉัน
  4. ในบรรทัดที่ 9 คุณจะเห็น: ไฟล์การกำหนดค่าโหลดและถัดจากนั้นจะถูกเขียน C: \ xampp \ php.ini

ดังนั้นฉันจึงพบหน้า php.ini ที่เชื่อมโยงกับเว็บไซต์ wordpress ของฉัน

  1. ไปที่เส้นทางนั้นและค้นหา php.ini
  2. เปิดและแก้ไข: ค้นหา post_max_size = 8M และเปลี่ยนเป็น post_max_size = 1000M ค้นหา upload_max_filesize = 2M แล้วเปลี่ยนเป็น upload_max_filesize = 1000M

  3. กลับไปที่หน้าผู้ดูแลระบบของคุณ> สื่อ> เพิ่มใหม่

  4. ที่ด้านล่างคุณจะเห็นว่า 2MB เปลี่ยนเป็น 1000M

เมื่อคุณทำกระบวนการนี้แล้วคุณจะต้องรีสตาร์ทคอมพิวเตอร์หรือเพียงแค่เริ่ม XAMPP ...


4

ไปที่

C:\drive\xampp(where xampp installed)

เพียงค้นหาไฟล์ php.ini จากนั้นในการค้นหาไฟล์

post_max_size=XXM
upload_max_size=XXM

เปลี่ยนด้วยรหัสนี้

post_max_size=100M
upload_max_filesize=100M

อย่าลืมรีสตาร์ท xampp


4
  1. ค้นหา php.ini [\ xampp \ php]
  2. เพียงแค่ตั้งค่าเหล่านี้ใน php.ini:
upload_max_filesize = 1000M;
post_max_size = 1000M;
  1. เซิร์ฟเวอร์ Rebot
    • หยุด Apache และ MySQL
    • เริ่มอีกครั้ง Apache และ MySQL


3

จากแผง XAMPP คลิกที่ปุ่ม ADMIN บนเว็บไซต์ Apache จากนั้นเลือกที่จะแก้ไข php.ini และเพิ่ม post_max_size ที่ขาดหายไปในค่าที่คุณพอใจ

post_max_size = 100M

3

การใช้ wamp ทำสิ่งต่อไปนี้และหวังว่าจะช่วยแก้ปัญหาได้

ทำการเปลี่ยนแปลงในตัวเลือก PHP เพื่อแก้ไข:

max_execution_time   180

memory_limit   512M or your highest available

post_max_size  32M

upload_max_filesize   64M

2

ไปที่

C:\ drive

หรือไดรฟ์ที่ติดตั้ง xampp ให้คลิกที่ xampp ค้นหา php แล้วเปิดขึ้นมาคุณจะพบphp.iniโฟลเดอร์เปิดไฟล์ php.ini พร้อมแผ่นจดบันทึกและค้นหาupload_max_filesizeและpost_max_sizeทั้ง "ตัวเลือกค้นหาขึ้นและลง" เปลี่ยนทั้งสองค่าเป็น1000M


2

ฉันได้แก้ไขปัญหาเดียวกันโดยเปลี่ยนพารามิเตอร์ด้านล่างเป็นค่าที่คาดหวังในไฟล์/etc/php/7.2/apache2/php.ini

upload_max_filesize = 8M;
post_max_size = 8M;

1
upload_max_filesize = 8M;
post_max_size = 8M;

ลองนึกภาพคุณเปลี่ยนค่าข้างต้นแล้ว แต่จะเกิดอะไรขึ้นเมื่อผู้ใช้พยายามอัปโหลดไฟล์ขนาดใหญ่มากกว่า 8M

นี่คือสิ่งที่เกิดขึ้น PHP แสดงคำเตือนนี้!

Warning: POST Content-Length of x bytes exceeds the limit of y bytes in Unknown on line 0

คุณสามารถหลีกเลี่ยงได้โดยการเพิ่ม

ob_get_contents();
ob_end_clean();

0

คุณอาจไม่ได้อัปโหลดไฟล์ zip ที่ถูกต้อง ในกรณีของฉันในฐานะมือใหม่ที่ใช้เวิร์ดเพรส (ฉันเคยทำ hardcoding) ฉันได้ติดตั้งไฟล์ซิปที่มีไฟล์ซิปอีกไฟล์ซึ่งเป็นธีมจริงที่ต้องอัปโหลด ดังนั้นสิ่งที่ต้องทำในกรณีนี้คือการแตกไฟล์และค้นหา "theme_name.zip" ข้างใน


0

หากเปลี่ยนการตั้งค่า post_max_size จากXAMPPโฟลเดอร์ มันไม่ได้ผลสำหรับคุณลองนี้

จากXAMPPแผงควบคุมคลิกกำหนดค่าจากนั้นPHP (php.ini)แก้ไขpost_max_sizeและupload_max_filesizeเป็นตัวเลขที่สูงขึ้นในไฟล์นี้แทน หยุดเซิร์ฟเวอร์ Apache เริ่มต้นเซิร์ฟเวอร์ Apache สิ่งนี้ใช้ได้สำหรับฉัน


0

หากวัตถุประสงค์ของคุณคือการนำเข้าชุดรูปแบบลงใน Wordpress ของคุณคุณสามารถคัดลอกชุดรูปแบบของคุณไปยังโฟลเดอร์ wp-content-> themes และแยกชุดรูปแบบได้ ฉันเพิ่งพบสิ่งนี้และไม่พบไฟล์ php.ini สำหรับ WAMP


0

ไปที่เบราว์เซอร์และค้นหาphp.iniจากนั้นเปิดและเปลี่ยนค่าทั้งสองนี้:

post_max_size= 1000000000000M
upload_max_filesize= 10000000000000M

หากคุณเปิดphp.iniไฟล์โดยใช้แผ่นจดบันทึกคุณสามารถค้นหาค่าทั้งสองนี้ได้โดยคลิก:
cmd+f

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.