description

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

- 2 هفته پیش
توسط احسان آپدیت شد
احسان ( 85 تجربه )
2 هفته پیش

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

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

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

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

بهترین پاسخ انتخاب شده توسط احسان
احسان
2 هفته پیش

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

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

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

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

arshiya saeidi ( 629 تجربه )
2 هفته پیش

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

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

احسان ( 85 تجربه )
2 هفته پیش

ممنون

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

ناصر رمضانپور ( 947 تجربه )
2 هفته پیش

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

احسان ( 85 تجربه )
2 هفته پیش

بله اعمال شده

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

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

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

احسان ( 85 تجربه )
2 هفته پیش

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

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

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

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

سیدعلی موسوی ( 7734 تجربه )
2 هفته پیش

سلام

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

احسان ( 85 تجربه )
2 هفته پیش

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

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

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

برای ارسال پاسخ باید وارد سایت شوید