จะตั้งค่า upload_max_filesize ใน. htaccess ได้อย่างไร?


91

ผมได้ลองใส่ theese 2 เส้น

php_value post_max_size 30M
php_value upload_max_filesize 30M

ในไฟล์ root. htaccess ของฉัน แต่นั่นทำให้ฉันมีข้อความ "ข้อผิดพลาดภายในเซิร์ฟเวอร์" ...
php5 กำลังทำงานบนเซิร์ฟเวอร์
ฉันไม่สามารถเข้าถึง php.ini ได้ดังนั้นฉันคิดว่า htaccess เป็นโอกาสเดียวของฉัน
บอกได้ไหมว่าผิดพลาดตรงไหน?
ขอบคุณล่วงหน้า

คำตอบ:


140

php_value upload_max_filesize 30M ถูกต้อง.

คุณจะต้องติดต่อโฮสต์ของคุณ - บางแห่งไม่อนุญาตให้คุณเปลี่ยนค่าใน php.ini


2
ขอบคุณ แต่ ini_set () ไม่ทำงานสำหรับ upload_max_filesize และ post_max_size: /
T1000

เมื่อคุณพูดว่า "ไม่ทำงาน" หมายความว่าคุณไม่ได้ให้ผลลัพธ์ที่ต้องการ / เกิดข้อผิดพลาด / อย่างอื่นใช่หรือไม่
Kerry Jones

ตั้งค่า error_reporting (E_ALL) และดูว่ามีอะไรแสดงหรือไม่ นอกเหนือจากนั้นติดต่อผู้ให้บริการโฮสต์ของคุณพวกเขาควรจะสามารถช่วยเหลือคุณได้ บล็อกการเปลี่ยนแปลงตัวแปรบางอย่างเนื่องจากไม่ต้องการให้คุณกลายเป็นไซต์ที่มีการค้ามนุษย์รายใหญ่
Kerry Jones

14
ตัวเลือกเหล่านี้ไม่สามารถตั้งค่าโดย ini_set () ดูphp.net/manual/en/ini.list.phpและphp.net/manual/en/configuration.changes.modes.php
dev-null-dweller

โฮสต์จำนวนมากไม่อนุญาตให้ทำเช่นนี้ แต่คุณยังสามารถสร้างไฟล์ php.ini ใส่ไว้ในรูทของไซต์และแทนที่ค่าที่นั่นได้
Erik Čerpnjak

37

หากคุณได้รับ500 - ข้อผิดพลาดภายในเซิร์ฟเวอร์ซึ่งหมายความว่าคุณไม่ได้รับอนุญาตให้ตั้งค่าเหล่านี้โดย. htaccess คุณต้องติดต่อผู้ให้บริการเว็บเซิร์ฟเวอร์ของคุณและขอให้ตั้งค่าAllowOverride Optionsโฮสต์ของคุณหรือใส่บรรทัดเหล่านี้ในไฟล์คอนฟิกูเรชันโฮสต์เสมือน


ขอขอบคุณ. บันทึกข้อผิดพลาดให้เรื่องไร้สาระเกี่ยวกับคำสั่งที่ไม่ถูกต้องซึ่งอยู่ไกลจาก "ไปเปลี่ยนไฟล์การกำหนดค่าโฮสต์เสมือนของคุณ"
Altimus Prime

33
php_value memory_limit 30M
php_value post_max_size 100M
php_value upload_max_filesize 30M

ใช้ทั้ง 3 ใน.htaccessหลังทุกอย่างในบรรทัดสุดท้าย php_value post_max_sizeต้องมากกว่าสองรายการที่เหลือ


2
ฉันขอทราบเหตุผลว่าทำไมphp_value post_max_sizeต้องมากกว่าสองคนที่เหลือ?
อนุชา

@Anusha ถ้าคุณคิดเกี่ยวกับเรื่องนี้คุณสามารถโพสต์ด้วยไฟล์ 30M สองไฟล์ + ข้อมูลที่เป็นข้อความเพิ่มเติมและจะต้องเสียค่าไบต์เพิ่มเติมนั่นอาจเป็นเหตุผล
giovannipds

12

สิ่งที่ต้องแก้ไขคือสร้างไฟล์ชื่อ php.ini และบันทึกไว้ในตำแหน่งเดียวกับไฟล์. htaccess ของคุณและป้อนรหัสต่อไปนี้แทน:

upload_max_filesize = "250M"
post_max_size = "250M"

4
สิ่งนี้จะใช้ได้กับบางสภาพแวดล้อมโฮสติ้งเท่านั้น ทำงานให้ฉันในบัญชีโฮสติ้ง Web Fusion ของฉัน
Ian Jamieson

3

หากเว็บเซิร์ฟเวอร์ของคุณทำงาน php5 php5_valueผมเชื่อว่าคุณต้องใช้ php_valueนี้ได้รับการแก้ไขข้อผิดพลาดเดียวกันผมได้รับเมื่อใช้


-2

คำสั่งทั้งสองถูกต้อง

php_value post_max_size 30M 
php_value upload_max_filesize 30M 

แต่เพื่อใช้.htaccessคุณต้องเปิดใช้งานrewrite_moduleในไฟล์กำหนดค่า Apache ในการhttpd.confค้นหาบรรทัดนี้:

# LoadModule rewrite_module modules/mod_rewrite.so

และลบไฟล์#.


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