วิธีเพิ่มขีด จำกัด ขนาดการอัปโหลดไฟล์ PHP
หากคุณมีเว็บแอปพลิเคชันที่อัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ผ่านสคริปต์ PHP คุณอาจสังเกตเห็นว่าโดยปกติคุณจะไม่สามารถอัปโหลดไฟล์ขนาดใหญ่มากได้ นี่คือวิธีการเปลี่ยน.
เหตุผลที่มีการตั้งค่าขีด จำกัด ค่อนข้างต่ำโดยค่าเริ่มต้นคือเหตุผลด้านความมั่นคงและความปลอดภัยสคริปต์ที่เป็นอันตรายหรือผู้โจมตีสามารถพยายามที่จะ DoS เซิร์ฟเวอร์ของคุณด้วยการอัพโหลดไฟล์ขนาดใหญ่และปิดแอปพลิเคชันของคุณชั่วคราว.
ในการเปลี่ยนค่าคุณจะต้องแก้ไขไฟล์ php.ini ของคุณซึ่งปกติจะอยู่ที่พา ธ ของไฟล์นี้:
/etc/php.ini
นี่คือการตั้งค่าที่คุณต้องการเปลี่ยน:
post_max_size
การตั้งค่านี้ควบคุมขนาดของโพสต์ HTTP และจำเป็นต้องตั้งค่าให้ใหญ่กว่าการตั้งค่า upload_max_filesize.
upload_max_filesize
ค่านี้กำหนดขนาดสูงสุดของไฟล์อัพโหลด.
memory_limit
คุณจะต้องตรวจสอบให้แน่ใจว่าขีด จำกัด หน่วยความจำสคริปต์ของคุณถูกตั้งค่าไว้ในขนาดที่เหมาะสมอาจใหญ่กว่าการตั้งค่าอื่น ๆ อย่างใดอย่างหนึ่ง.
การตั้งค่าตัวแปร
คุณสามารถตั้งค่าโดยใช้ค่าตัวเลขตามด้วย M สำหรับจำนวน MB ที่คุณต้องการจัดสรรสำหรับแต่ละตัวแปร ตัวอย่างเช่นเพื่ออนุญาตให้อัปโหลดไฟล์ 20MB คุณต้องใช้สิ่งนี้:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
คุณจะต้องรีสตาร์ทเซิร์ฟเวอร์ Apache เมื่อคุณทำการเปลี่ยนแปลงด้วยคำสั่งนี้:
/etc/init.d/httpd ทำการรีสตาร์ท
การตั้งค่าขนาดอัปโหลดต่อแอปพลิเคชัน
คุณสามารถเปลี่ยนแปลงการตั้งค่านี้สำหรับเว็บแอปพลิเคชันเฉพาะโดยวางลงในไฟล์. htaccess แทนในไดเรกทอรีของแอปพลิเคชัน โปรดทราบว่านี่จะใช้งานได้หากเซิร์ฟเวอร์ของคุณเปิดใช้งานการแทนที่สำหรับโฮสต์หรือเซิร์ฟเวอร์เสมือนของคุณ.
ตัวอย่างเช่นคุณสามารถใส่สิ่งต่อไปนี้ลงในไฟล์:
php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
เมื่อคุณบันทึกไฟล์การเปลี่ยนแปลงควรถูกนำไปใช้.