آیا زمانی که تلاش میکنید یک فایل را در سایت وردپرس خود وارد کنید، با پیغام Uploaded file exceeds the upload_max_filesize directive in php.in روبرو میشوید؟
این پیام زمانی روی صفحه شما ظاهر میشود، که تلاش کنید یک فایل با حجم بالا از قبیل عکس، ویدئو یا هر نوع فایل حجیم دیگر را آپلود کنید یا قالب و پلاگینهایی با حجم بسیار بالا نصب کنید. این ارور ممکن است به صورت ارور HTTP در وردپرس نیز نمایش داده شود.
در این مقاله به شما آموزش میدهیم که چطور با انجام تغییراتی در پنل خود بتوانید فایلهای این چنینی را به سایت خود اضافه کنید:
چه چیزی باعث ایجاد ارور Uploaded file exceeds the upload_max_filesize directive in php.ini میشود؟
سرویسدهندههای هاست برای حفظ منابع سرور شما، محدودیتی در حجم فایلهای آپلود شده تعریف میکنند. بیشینه حجم فایل آپلود شده (بر حسب مگابایت) در دستور upload_max_filesize در فایل php.ini پیدا میشود. فایل php.ini به نوعی پیکربندی پیش فرض سرور برای کاربردهای PHP را مشخص میکند.
اگرچه این محدودیت تعریف شده مربوط به تنظیمات وردپرس نمیشود و توسط هاست اعمال شده است، ولی با رفتن به داشبورد وردپرس، بخش رسانه، با فشردن گزینه افزودن، صفحهای باز میشود که این محدودیت حجم در آن قابل مشاهده است.
آموزش حل ارور Uploaded file exceeds the upload_max_filesize directive in php.ini
برای رفع مشکل ذکر شده، باید محدودیت حجم فایل آپلود شده در دستور upload_max_filesize در فایل php.ini را افزایش دهید. روشهای متنوعی برای این منظور وجود دارد که در ادامه به آنها میپردازیم:
۱. افزایش upload_max_filesize در فایل wp-config.php
از طریق FTP به سرورتان متصل شوید و به پوشه اصلی سایت خود مراجعه کنید. در انتهای فایل wp-config.php، کد زیر را وارد کنید:
define('WP_MEMORY_LIMIT', '256M');
در این صورت بیشینه حجم قابل آپلود به 256 مگابایت تغییر میکند.
۲. افزایش upload_max_filesize در سی پنل
اگر هاست مورد استفاده شما از پشتیبانی سی پنل بهره میگیرد، با مراجعه به داشبورد سی پنل میتوانید به راحتی تغییرات مورد نظر را در فایل php.ini ودستور upload_max_filesize ایجاد کنید.
در این صورت ابتدا بخش MultiPHP INI Editor را بیابید. پس از انتخاب سایت وردپرس خود، در صفحهای که باز میشود، تنظیمات مختلفی مشاهده میشود که قابل ویرایش هستند. حجم ثبت شده جلوی عبارت upload_max_filesize را به میزان دلخواه تغییر دهید.
۳. افزایش upload_max_filesize با استفاده از FTP
همانطور که پیش از این هم ذکر شد، فایل php.ini رفتار سرور را در کاربردهای مرتبط با PHP تعیین میکند. اگر هاست این امکان را به شما میدهد که به فایل php.ini دسترسی پیدا کنید، میتوانید تغییرات مدنظر را در مورد حجم فایل آپلود شده اعمال کنید.
از طریق FTP به سرورتان متصل شوید و به پوشه اصلی سایت خود مراجعه کنید. در صورتی که فایل php.ini (یا php5.ini.) در این پوشه وجود دارد، میتوانید آن را ویرایش کنید. در غیر این صورت، یک فایل جدید با همین نام بسازید. سپس کد زیر را ویرایش کنید و یا به فایل بیفزایید:
upload_max_filesize = 2M
post_max_size = 3M
memory_limit = 5M
file_uploads = On
max_execution_time = 300
در صورتی که از XAMPP، Wamp یا MAMP استفاده میکنید، میتوانید فایل php.ini را در محلهای زیر پیدا کنید:
Windows: C:/xampp/php/php.ini
macOS: /private/etc/php.ini
Linux: /etc/php.ini
در نظر داشته باشید که برخی هاستها برای اینکه تغییرات بالا را به طور کامل اعمال کنند، نیاز به افزودن دستور suPHP در فایل .htaccess سرور خود دارند. برای این منظور، خطوط زیر را به ابتدای فایل .htaccess اضافه کنید.
<IfModule mod_suphp.c>
suPHP_ConfigPath /home/yourusername/public_html
</IfModule>
حتما به یاد داشته باشید که به جای yourusername، آدرس مسیر اصلی فایل در سایت خود را جایگذاری کنید.
تنظیمات ذکر شده در بالا برای وب هاستهای مختلف میتواند متفاوت باشد. در نتیجه برای اطمینان از عملکرد صحیح خود و اطلاع از جزئیات، میتوانید به مستندات هر وب هاست در وب سایت آنها مراجعه کنید.
۴. افزایش upload_max_filesize با استفاده از .htaccess
در صورتی که وب هاست اجازه ایجاد و یا اصلاح فایل php.ini را به شما نمیدهد،دستور upload_max_filesize را با اعمال تغییرات در فایل .htaccess وب سایت خود اصلاح کنید. برای این منظور، از طریق FTP به سرور متصل شوید و به پوشه اصلی سایت خود مراجعه کنید. سپس با وارد کردن خطوط زیر در فایل .htaccess و تغییر اعداد به میزان دلخواه، محدودیت حجم آپلود فایل را افزایش دهید:
php_value upload_max_filesize 2M
php_value post_max_size 3M
php_value memory_limit 5M
php_value max_execution_time 300
php_value max_input_time 300
اگر افزودن این کدها باعث ایجاد پیغام خطا در سرور شد، به این معنی است که سرور شما PHP را در حالت CGI اجرا میکند و شما قادر به ویرایش فایل .htaccess نیستید. کدهای وارد شده را پاک کنید تا عملکرد وب سایت به حالت اولیه خود بازگردد.
۵. افزایش upload_max_filesize در فایل functions.php
برای رفع مشکل کوچک بودن حجم مجاز برای آپلود فایل در وردپرس، میتوانید کد زیر را به فایل functions.php در قالب فرزند اضافه کنید:
@ini_set( 'upload_max_size' , '40M' );
@ini_set( 'post_max_size', '70M');
@ini_set( 'max_execution_time', '250M');
اعداد آورده شده برای حجم فایلها و پستها را به میزان دلخواه تغییر دهید.
نتیجهگیری
در صورتی که هیچ یک از روشهای بالا نتیجه نداد، با بخش پشتیبانی وب هاست مورد استفاده خود تماس بگیرید و مشکل مربوطه را مطرح کنید.
برای اطمینان از اعمال تغییرات انجام شده در روشهای بالا، در داشبورد وردپرس در بخش رسانه با کلیک بر روی گزینه افزودن، مشاهده کنید که آیا عبارت مربوط به بیشینه حجم آپلود فایل تغییری کرده است یا خیر. اگر اعداد موجود با اعداد وارد شده توسط شما همخوانی دارند، در این صورت میتوانید فایلهای مشکلساز قبلی را به راحتی آپلود کنید.
اگر در زمینه تغییر حداکثر حجم آپلود فایل همچنان مشکل دارید، توجه داشته باشید که همیشه میتوانید فایل خود را از طریق FTP آپلود کنید. در FTP هیچ محدودیتی برای آپلود فایل، عکس، قالب و پلاگین وجود ندارد.