لطفا جاواسکریپت مرورگر خود را فعال سازید!

نحوه فعال سازی در کروم
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
نحوه فعال سازی در فایرفاکس
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
افزایش حجم آپلود فایل در phpmyadmin با تنظیمات فایل php.ini

افزایش حجم آپلود فایل در phpmyadmin با تنظیمات فایل php.ini

به طور پیش فرض، مفسر پی اچ پی امکان آپلود فایل‌هایی تا حجم 2 مگابایت یا کمتر را به ما می دهد. حال اگر بخواهیم این مقدار پیش‌فرض را که گاها خیلی کم است افزایش دهیم، می بایست فایل php.ini را ویرایش کنیم و این همان چیزی است که در این ترفند قرار است مورد بررسی قرار دهیم. با سکان آکادمی همراه باشید.

کاربرد این ترفند بیشتر در زمان هایی است که می‌خواهیم یک دیتابیس را در phpmyadmin ایمپورت کنیم، اما به خاطر حجم کم تنظیمات اولیه، قادر به انجام چنین کاری نیستیم. برای ویرایش تنظیمات پیش‌فرض فایل php.ini، در سیستم عامل گنو/لینوکس توزیع اوبونتو، ابتدا باید وارد مسیر etc/php/7.0/apache2 شده و فایل php.ini را در یک ویرایشگر کد باز کنیم:


sudo nano /etc/php/7.0/apache2/php.ini

همان‌طور که در کد فوق مشاهده می شود، با استفاده از نرم‌افزار nano اقدام به باز کردن این فایل می کنیم. پس از باز کردن این فایل، باید ابتدا به دنبال عبارت memory_limit به معنی «محدودیت حافظه» گشته و مقداری همچون 128M برای آن در نظر بگیریم (البته مقدار پیش‌فرض همین قدر است.) سپس به دنبال عبارت post_max_size به معنی «حداکثر حجم پست» گشته و مقداری بیش از حجم دیتابیسی که قرار است ایمپورت کنید همچون 64M در نظر گرفته و در نهایت مقدار در نظر گرفته شده برای عبارت upload_max_filesize به معنی «حداکثر حجم فایل آپلودی» را برابر مثلاً 20M در نظر می گیریم. فقط توجه داشته باشیم که مقدار در نظر گرفته شده برای عبارت upload_max_filesize باید از مقدار در نظر گرفته شده برای post_max_size کمتر باشد. به عبارت دیگر، ترتیب حجم عبارات از بزرگ به کوچک باید به صورت زیر باشد:

memory_limit = 128M
post_max_size = 64M
upload_max_filesize = 20M

پس از ذخیره کردن فایل، حال نوبت به Restart کردن نرم‌افزار وب سرور آپاچی می‌رسد که با استفاده از دستور زیر این کار به راحتی امکان‌پذیر است:

service apache2 restart

از این پس به راحتی خواهید توانست در محیط phpmyadmin دیتابیس هایی با حجم نسبتاً بالایی را ایمپورت کنید. اما ممکن است این سؤال برای شما پیش بیاید که چرا ترتیب حجم دستورهای بالا باید به شکلی که توضیح داده شد باشند.
در توضیح این سؤال باید گفت که عبارت upload_max_filesize محدودیتی است که برای آپلود هر یک فایل در نظر گرفته شده است اما در این حالی است که post_max_size مرتبط با میزان محدودیتی است که کل ریکوئست را دربرمی گیرد که ممکن است چندین فایل را شامل شود.

برای روشن شدن این مسأله مثالی می زنیم. اگر مقدار در نظر گرفته شده برای عبارت post_max_size معادل با 20M باشد و مقدار در نظر گرفته شده برای upload_max_filesize معادل با 6M باشد، شما صرفاً می‌توانید تا سه فایلی که هر کدام 6 مگابایت باشند آپلود کنید که جمعا می شود 18 مگابایت. در مقابل، مثلاً اگر post_max_size معادل با 6M باشد و مقدار upload_max_filesize معادل با 20M باشد، در چنین شرایطی شما صرفاً می‌توانید یک فایل شش مگابایتی را آپلود کنید چرا که به سقف ظرفیت دستور post_max_size رسیده اید. در پایان هم، مقدار در نظر گرفته شده برای memory_limit باید بیشتر از post_max_size باشد تا بتوانید میزان آپلود را به سادگی هندل کنید.



بهزاد مرادی