איך להגדיל את מגבלת ההעלאה בוורדפרס (בכל אחסון)
בדקו מה מגבלת ההעלאה הנוכחית בוורדפרס, ואז הגדילו אותה במקום הנכון לאחסון שלכם: php.ini, .user.ini, .htaccess, cPanel, Nginx או Cloudflare.
כדי להגדיל את מגבלת ההעלאה בוורדפרס, הגדילו שתי הגדרות PHP, upload_max_filesize ו-post_max_size, בקובץ ההגדרות שהאחסון שלכם באמת קורא. בשרת שאתם מנהלים בעצמכם זה php.ini, ברוב האחסונים המשותפים שמריצים PHP-FPM או FastCGI זה .user.ini, .htaccess רק כש-Apache מריץ את PHP כמודול, או ה-MultiPHP INI Editor ב-cPanel. אם השרת שלכם מריץ Nginx, הגדילו גם את client_max_body_size. עריכה של wp-config.php לא תשנה את מגבלת ההעלאה.
כלי גודל ההעלאה המקסימלי של וורדפרס הופך גודל יעד אחד לערכים תואמים ל-php.ini (או .user.ini), ל-.htaccess ול-wp-config.php, כך שתוכלו להדביק במקום להקליד ידנית.
שלב 1: בדקו את מגבלת ההעלאה הנוכחית
לפני שמשנים משהו, ביררו מה המגבלה עכשיו ואיזו הגדרה קובעת אותה.
- מדיה > הוספת קובץ חדש. מסך ההעלאה מציג את גודל הקובץ המקסימלי להעלאה. זה המספר שאתם רוצים להגדיל.
- כלים > בריאות האתר > מידע. הרחיבו את טיפול במדיה. התיעוד של בריאות האתר מפרט מה מוצג שם: הגודל המקסימלי המותר של נתוני POST, הגודל המקסימלי של קובץ שהועלה, וגודל הקובץ האפקטיבי המקסימלי, שהוא הקטן מבין השניים. החלק Server מציג ערכי PHP נוספים.


וורדפרס מחשב את המגבלה שלו ב-wp_max_upload_size(), שקורא את upload_max_filesize ואת post_max_size מ-PHP ומשתמש בקטן מביניהם. אם אחד מהם 64M והשני 8M, המגבלה שלכם היא 8M.
שלב 2: דעו אילו הגדרות חשובות
| הגדרה | מה היא מגבילה | ברירת מחדל של PHP | איפה אפשר לשנות אותה |
|---|---|---|---|
upload_max_filesize | הקובץ הבודד הגדול ביותר שמועלה | 2M | php.ini, .user.ini, .htaccess, httpd.conf |
post_max_size | כל בקשת ה-POST, כולל הקובץ | 8M | php.ini, .user.ini, .htaccess, httpd.conf |
memory_limit | הזיכרון ש-PHP יכול להשתמש בו בזמן ריצה | 128M | בכל מקום, כולל wp-config.php |
max_execution_time | מספר השניות שסקריפט יכול לרוץ | 30 | בכל מקום, כולל wp-config.php |
client_max_body_size (Nginx) | גוף הבקשה ש-Nginx מוכן לקבל | 1m | רק בהגדרות Nginx |
ברירות המחדל של PHP ומצבי השינוי לקוחים מרשימת ההנחיות של php.ini; ברירת המחדל של Nginx לקוחה מהתיעוד של מודול הליבה של Nginx. רוב חברות האחסון מגדירות ערכים גבוהים יותר מברירות המחדל של PHP, ולכן בריאות האתר היא המקום לקרוא בו את המספרים האמיתיים שלכם.
upload_max_filesize ו-post_max_size הן מה ש-PHP מכנה הגדרות INI_PERDIR: אפשר להגדיר אותן ב-php.ini, .htaccess, httpd.conf או .user.ini ובשום מקום אחר. memory_limit לא מגביל את גודל הקובץ, אבל וורדפרס צריך זיכרון כדי ליצור עותקים מוקטנים של תמונות גדולות, ולכן העלאה גדולה עדיין יכולה להיכשל עם שגיאת זיכרון שנגמר אחרי שהיא מגיעה.
שלב 3: הגדילו את המגבלה במקום הנכון לאחסון שלכם
| הסביבה שלכם | איפה להגדיר | הערות |
|---|---|---|
| VPS או שרת ייעודי | קובץ ה-php.ini ש-PHP באמת טוען | הפעילו מחדש את PHP-FPM או את Apache אחר כך |
| אחסון משותף עם PHP-FPM או FastCGI | .user.ini בתיקיית השורש של וורדפרס | יכול לקחת עד 5 דקות עד שזה נכנס לתוקף |
| Apache עם PHP כמודול (mod_php) | .htaccess עם php_value | גורם לשגיאת 500 תחת PHP-FPM או FastCGI |
| אחסון עם cPanel | Software > MultiPHP INI Editor | כותב בשבילכם את php.ini, .user.ini או .htaccess |
| Nginx לפני PHP | client_max_body_size בנוסף לערכי PHP | אחרת Nginx מחזיר 413 |
| אחסון וורדפרס מנוהל | לוח הבקרה של האחסון או התמיכה | אחסונים רבים מגבילים העלאות ברמת הפלטפורמה |
| אתר מאחורי Cloudflare | מגבלת ההעלאה של Cloudflare עצמה | 100 MB בחבילות Free ו-Pro |
php.ini (שרת שאתם מנהלים)
קודם מצאו את הקובץ שנטען. צרו קובץ זמני שמכיל <?php phpinfo();, פתחו אותו בדפדפן, קראו את השורה “Loaded Configuration File”, ואז מחקו את הקובץ. ערכו את ה-php.ini הזה:
upload_max_filesize = 128M
post_max_size = 130M
max_execution_time = 300
אחר כך הפעילו מחדש את PHP כדי שיקרא את השינוי. ב-PHP-FPM שם השירות כולל את הגרסה, למשל sudo systemctl restart php8.3-fpm ב-Debian או Ubuntu. עם mod_php, הפעילו מחדש את Apache.
.user.ini (רוב האחסונים המשותפים)
PHP קורא קבצי .user.ini רק כשהוא רץ כ-CGI או FastCGI, וזה כולל PHP-FPM. צרו או ערכו .user.ini בתיקייה שמכילה את wp-config.php:
upload_max_filesize = 128M
post_max_size = 130M
PHP קורא את הקבצים האלה מחדש כל user_ini.cache_ttl שניות, וברירת המחדל היא 300. חכו חמש דקות לפני שאתם מחליטים שזה לא עבד, או הפעילו מחדש את PHP-FPM אם אפשר.
.htaccess (רק Apache עם mod_php)
php_value upload_max_filesize 128M
php_value post_max_size 130M
המדריך של PHP מתאר את ההנחיות האלה עבור PHP שרץ כמודול של Apache. אם האתר מציג 500 Internal Server Error מיד אחרי השמירה, PHP רץ כ-FastCGI או כ-PHP-FPM. הסירו את השורות והשתמשו ב-.user.ini במקום.
MultiPHP INI Editor ב-cPanel
ב-cPanel, פתחו את Software > MultiPHP INI Editor, בחרו את הדומיין ושנו את הערכים ב-Basic Mode. לפי התיעוד של cPanel, Basic Mode שומר לקבצי php.ini, .user.ini ו-.htaccess בהתאם לקובץ שתומך בהגדרה, כך שלא צריך לדעת באיזה מהם השרת שלכם משתמש.
Nginx
Nginx בודק את גודל הבקשה לפני ש-PHP רואה אותה. כשבקשה גדולה מ-client_max_body_size, Nginx מחזיר 413 Request Entity Too Large. ברירת המחדל היא 1m. הוסיפו בבלוק server ערך גדול לפחות כמו post_max_size:
client_max_body_size 130M;
בדקו וטענו מחדש עם sudo nginx -t && sudo systemctl reload nginx. ב-Apache ההגדרה המקבילה היא LimitRequestBody, ולרוב אין צורך לשנות אותה באחסון וורדפרס רגיל.
אחסונים מנוהלים ו-Cloudflare
חלק מאחסוני הוורדפרס המנוהלים מתעלמים מה-php.ini או מה-.user.ini שלכם וקובעים את המגבלה לכל הפלטפורמה. אם בריאות האתר עדיין מציג את המספר הישן אחרי השינוי, שאלו את חברת האחסון מה המקסימום והאם היא יכולה להגדיל אותו.
אם האתר עובר דרך Cloudflare, ל-Cloudflare יש מגבלה משלה. תיעוד המטמון שלה מפרט גודל העלאה מקסימלי של 100 MB בחבילות Free ו-Pro, 200 MB ב-Business ועד 5 GB ב-Enterprise. שום הגדרת PHP לא עוקפת את זה.
למה wp-config.php לא עובד
מאמרים רבים מציעים להוסיף את זה ל-wp-config.php:
@ini_set( 'upload_max_filesize', '128M' );
@ini_set( 'post_max_size', '130M' );
שתי ההגדרות הן INI_PERDIR, והתיעוד של PHP אומר שאי אפשר להגדיר הגדרות מהמצב הזה עם ini_set(). ה-@ מסתיר את הכישלון, כך שהשורות נראות תמימות ולא משנות כלום. מה ש-wp-config.php כן יכול לשנות הוא הזיכרון, כי את memory_limit אפשר להגדיר בכל מקום:
define( 'WP_MEMORY_LIMIT', '256M' );
זה עוזר כשתמונות גדולות נכשלות בזמן העיבוד. זה לא משנה את גודל הקובץ המקסימלי להעלאה.
שלב 4: ודאו שהשינוי נקלט
טענו מחדש את מדיה > הוספת קובץ חדש ובדקו שגודל הקובץ המקסימלי להעלאה מציג את הערך החדש. אם לא:
- בדקו ש-
post_max_sizeגדול לפחות כמוupload_max_filesize. וורדפרס משתמש בקטן מביניהם. - ודאו שערכתם את הקובץ ש-PHP באמת טוען.
php.iniבתיקייה הלא נכונה לא נלקח בחשבון. - חכו חמש דקות אחרי שינוי ב-
.user.ini, או הפעילו מחדש את PHP-FPM. - אם המספר בוורדפרס השתנה אבל העלאות עדיין נכשלות עם 413, החסימה נמצאת ב-Nginx, בפרוקסי של האחסון או ב-Cloudflare.
- אם ההעלאה מגיעה לוורדפרס ואז נכשלת עם “שגיאת HTTP”, הגודל כבר לא הבעיה. המדריך שלנו לשגיאת HTTP בהעלאת תמונה בוורדפרס מסביר את הסיבות הנפוצות.
לאיזה ערך כדאי להגדיר?
הגדירו אותו לפי הקובץ הגדול ביותר שאתם באמת צריכים להעלות, עם קצת מרווח, ושמרו את post_max_size מעט מעל upload_max_filesize. העלאות גדולות גם לוקחות יותר זמן, אז הגדילו את max_execution_time אם קבצים גדולים נתקעים בחיבורים איטיים. לקבצים גדולים מאוד, כמו סרטונים ארוכים או ארכיוני גיבוי, העלאה דרך SFTP או עם תוסף שמעלה בחלקים היא בדרך כלל אמינה יותר מהעלאה ענקית אחת בדפדפן, ומגבלת החבילה של Cloudflare עשויה ממילא לפסול את הדרך דרך הדפדפן.
כשאתם יודעים מה היעד, כלי גודל ההעלאה המקסימלי כותב בשבילכם את שורות ה-PHP התואמות. הוסיפו בעצמכם את שורת ה-Nginx מהמדריך הזה אם השרת שלכם מריץ Nginx.
FAQ
שאלות
איך בודקים את מגבלת ההעלאה הנוכחית בוורדפרס?
היכנסו למדיה > הוספת קובץ חדש. מסך ההעלאה מציג את גודל הקובץ המקסימלי להעלאה. לפרטים שמאחוריו, פתחו את כלים > בריאות האתר > מידע והרחיבו את טיפול במדיה, שמפרט את הגודל המקסימלי של קובץ שהועלה, את הגודל המקסימלי של נתוני POST ואת גודל הקובץ האפקטיבי המקסימלי, שהוא הקטן מבין השניים.
למה וורדפרס אומר שהקובץ שהועלה חורג מהנחיית upload_max_filesize ב-php.ini?
הקובץ גדול מההגדרה upload_max_filesize של PHP. וורדפרס לא קובע את המגבלה הזו, הוא קורא אותה מ-PHP. הגדילו את upload_max_filesize ואת post_max_size יחד ב-php.ini, ב-.user.ini או, ב-Apache עם mod_php, ב-.htaccess. ברירת המחדל של PHP עצמו ל-upload_max_filesize היא רק 2M, אבל רוב חברות האחסון מגדירות ערך גבוה יותר.
אפשר להגדיל את מגבלת ההעלאה מתוך wp-config.php?
לא. upload_max_filesize ו-post_max_size הן הגדרות PHP_INI_PERDIR, ש-PHP מקבל רק מ-php.ini, .htaccess, httpd.conf או .user.ini. שורת ini_set() ב-wp-config.php רצה בלי שגיאה ולא משנה כלום. wp-config.php יכול להגדיל את מגבלת הזיכרון של וורדפרס, אבל הזיכרון הוא לא מה שמגביל את גודל הקובץ.
למה אני עדיין מקבל 413 Request Entity Too Large אחרי שהגדלתי את מגבלות PHP?
משהו שנמצא לפני PHP דוחה את הבקשה. ב-Nginx זה client_max_body_size, שברירת המחדל שלו היא 1m והוא מחזיר שגיאת 413 כשחורגים ממנו. הגדילו אותו בבלוק server וטענו מחדש את Nginx. אם האתר שלכם עובר דרך Cloudflare, גם מגבלת גודל ההעלאה של החבילה שלכם יכולה לעצור את הבקשה לפני שהיא מגיעה לשרת.
האם post_max_size צריך להיות גדול מ-upload_max_filesize?
הוא צריך להיות לפחות באותו גודל, וקצת יותר גדול זה בטוח יותר. הקובץ נשלח בתוך בקשת POST יחד עם נתוני טופס אחרים, כך שכל הבקשה נספרת מול post_max_size. וורדפרס משתמש בקטן מבין שני הערכים כמגבלת ההעלאה, ולכן הגדלה של upload_max_filesize בלבד משאירה את המגבלה איפה שהייתה.