راکت
احسان
احسان
توسط احسان مطرح شد
حل
7 پاسخ

خطای PostTooLargeException در لاراول

سلام
برای آپلود یک فیلم با حجم ۳۲ مگ خطای Illuminate \ Http \ Exceptions \ PostTooLargeException برخوردم
با xampp کار میکنم و مقادیر memory_limit , post_max_size , upload_max_filesize رو هم تغییر دادم و همه رو برابر ۱۰۰۰۰M گذاشتم.

باز هم همین خطا رو دارم .

از لاراول ۵.۶ استفاده میکنم

ممنون میشم راهنمایی کنید .


ثبت پرسش جدید
احسان
احسان
@beigi.ehsan7 سال پیشمطرح شد
0

تشکر از دوستانی که راهنمایی کردند

الحمدالله مشکل حل شد

باید یک middleware با نام ValidatePostSize به پروژه اضافه کنیم که همراه با عبارت پایین در فایل Kernel.php باعث میشه لاراول اجازه آپلود فاایل های با حجم بالا رو بده

عبارت مورد نظر : IlluminateFoundationHttpMiddlewareValidatePostSize::class,


عرشیا سعیدی
عرشیا سعیدی
تخصص :php ، لاراول ، وردپرس
@arshiya73arshiya7 سال پیشمطرح شد
0

به این لینک مراجعه کن شاید نوع ست کردن مقادیرت باشه که تاثیر میذاره

https://laracasts.com/discuss/channels/servers/interventionimage-memory-limit?page=1


احسان
احسان
@beigi.ehsan7 سال پیشمطرح شد
0

ممنون

این لینک رو دیده بودم
برای تصاویر از این پکیج استفاده کردم و مشکلی نیست
فایل من فیلم هست و عکس نیست که از Intervention استفاده کنم
الان مشکل سر آپلود بالای 8 مگ است با وجود تغییر مقادیر memory_limit , post_max_size , upload_max_filesize


ناصر رمضانپور
ناصر رمضانپور
تخصص :برنامه نویس وب
@na.rmpr7 سال پیشمطرح شد
0

بعد از انجام تفییرات ی بار php info بگیر ببین تغییرات در وب سرور اعمال شده یا نه؟


احسان
احسان
@beigi.ehsan7 سال پیشمطرح شد
0

بله اعمال شده

تو یک فرم با php خام عملیات آپلود رو انجام دادم
مقادیر memory_limit , post_max_size , upload_max_filesize رو کم کردم و به فایل آپلود شده خطا داد و با مقادیر زیاد تر که الان روی 2048M تنظیم شده خطا نداد و عملیات گرفتن فایل آپلود شده به درستی انجام شد .

پس مشکل از تنظیمات xampp نیست . هر چی هست مربوط به لاراول هست .

بعضی ها گفته بودند کلاس PostTooLargeException اضافه کن . این کار رو هم کردم تفاوتی نداشت


احسان
احسان
@beigi.ehsan7 سال پیشمطرح شد
0

تشکر از دوستانی که راهنمایی کردند

الحمدالله مشکل حل شد

باید یک middleware با نام ValidatePostSize به پروژه اضافه کنیم که همراه با عبارت پایین در فایل Kernel.php باعث میشه لاراول اجازه آپلود فاایل های با حجم بالا رو بده

عبارت مورد نظر : IlluminateFoundationHttpMiddlewareValidatePostSize::class,


سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza667 سال پیشمطرح شد
0

سلام

عجب!
من بدون این روش در لاراول 5.6 و قبل تر دارو استفاده میکنم و فقط با تغییر در فایل PHP کارم راه افتاده
این میدلور رو کی بهتون پیشنهاد داده؟!


احسان
احسان
@beigi.ehsan7 سال پیشمطرح شد
0

جستجو کردم تو اینترنت دیدم بعضی ها درباره تغییرات در یک کلاسی صحبت مبکنند به اسم ValidatePostSize

بعد تو یکی از سایت ها آدرس این کلاس رو داده بود که در middleware قرار داشت , ظاهرا جزء middleeare های تعریف شده در لاراول هست چون در فایل Kernel.php قبلا اضافه شده اما کلاسش در فولدر middleware نبود که باید اضافه بشه .

اینطور با هر حجمی میتونید فایل رو آپلود کنید و إلا بیشتر از 8 مگ رو خطا PostTooLargeException میده و خطا هم مربوط middleware ای با نام ValidatePostSize است . حتی با تغییر در فایل php.ini


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام