Məzmuna keç
Konfiqurasiya

WordPress-də yükləmə limitini artırmaq (istənilən hostda)

WordPress-də cari yükləmə limitini yoxlayın, sonra onu hostunuza uyğun düzgün yerdə artırın: php.ini, .user.ini, .htaccess, cPanel, Nginx və ya Cloudflare.

Nəşr olundu Yeniləndi

WordPress-də yükləmə limitini artırmaq üçün iki PHP parametrini, upload_max_filesize və post_max_size dəyərlərini, hostunuzun həqiqətən oxuduğu konfiqurasiya faylında artırın. Bu, idarə etdiyiniz serverdə php.ini, PHP-FPM və ya FastCGI işlədən əksər paylaşılan hostlarda .user.ini, yalnız Apache PHP-ni modul kimi işlədəndə .htaccess, və ya cPanel-dəki MultiPHP INI Editor-dur. Serveriniz Nginx ilə işləyirsə, client_max_body_size dəyərini də artırın. wp-config.php faylını redaktə etmək yükləmə limitini dəyişməyəcək.

WordPress maksimal yükləmə ölçüsü aləti bir hədəf ölçünü php.ini (və ya .user.ini), .htaccess və wp-config.php üçün uyğun dəyərlərə çevirir, belə ki, onları əllə yazmaq əvəzinə yapışdıra bilərsiniz.

Addım 1: Cari yükləmə limitinizi yoxlayın

Nəyisə dəyişməzdən əvvəl limitin indi nə qədər olduğunu və onu hansı parametrin təyin etdiyini öyrənin.

  • Media > Yeni əlavə et. Yükləmə ekranı maksimal yükləmə fayl ölçüsünü göstərir. Artırmaq istədiyiniz rəqəm budur.
  • Alətlər > Saytın sağlamlığı > Məlumat. Media emalı hissəsini genişləndirin. Saytın sağlamlığı sənədləri orada nə göstərildiyini sadalayır: icazə verilən post məlumatlarının maksimal ölçüsü, yüklənən faylın maksimal ölçüsü və ikisindən kiçiyi olan maksimal effektiv fayl ölçüsü. Server hissəsi daha çox PHP dəyəri göstərir.
WordPress Upload Media ekranı: yükləmə sahəsinin altında Maximum upload file size: 2 GB sətri
Limit yükləmə ekranında, yükləmə sahəsinin altında görünür. 2 GB test serverimizin dəyəridir; bir çox hostinqlər xeyli az təyin edir.
WordPress Site Health Info, Media Handling bölməsi: max size of post data allowed, max size of an uploaded file və max effective file size sətirləri
Test saytımızda Tools > Site Health > Info > Media Handling: post məlumatları, yüklənən fayl və effektiv limit ayrı sətirlərdədir.

WordPress limitini wp_max_upload_size() funksiyasında hesablayır. Bu funksiya PHP-dən upload_max_filesize və post_max_size dəyərlərini oxuyur və kiçiyini götürür. Onlardan biri 64M, digəri 8M-dirsə, limitiniz 8M-dir.

Addım 2: Hansı parametrlərin vacib olduğunu bilin

ParametrNəyi məhdudlaşdırırPHP standartıHarada dəyişmək olar
upload_max_filesizeYüklənən ən böyük tək fayl2Mphp.ini, .user.ini, .htaccess, httpd.conf
post_max_sizeBütün POST sorğusu, fayl daxil8Mphp.ini, .user.ini, .htaccess, httpd.conf
memory_limitPHP-nin işləyərkən istifadə edə biləcəyi yaddaş128MHər yerdə, wp-config.php daxil
max_execution_timeSkriptin işləyə biləcəyi saniyələr30Hər yerdə, wp-config.php daxil
client_max_body_size (Nginx)Nginx-in qəbul edəcəyi sorğu gövdəsi1mYalnız Nginx konfiqurasiyasında

PHP standartları və dəyişmə rejimləri php.ini direktivləri siyahısından, Nginx standartı isə Nginx core modulu sənədlərindən götürülüb. Əksər hostlar PHP standartlarından yüksək dəyərlər qoyur, ona görə də real rəqəmlərinizi Saytın sağlamlığı bölməsində oxumaq lazımdır.

upload_max_filesize və post_max_size PHP-nin INI_PERDIR adlandırdığı parametrlərdir: onlar “php.ini, .htaccess, httpd.conf və ya .user.ini daxilində təyin edilə bilər” və başqa heç yerdə. memory_limit fayl ölçüsünü məhdudlaşdırmır, amma WordPress-ə böyük şəkillərin kiçildilmiş nüsxələrini yaratmaq üçün yaddaş lazımdır, ona görə də böyük fayl çatdıqdan sonra yenə də yaddaş tükəndi xətası ilə uğursuz ola bilər.

Addım 3: Limiti hostunuz üçün düzgün yerdə artırın

Sizin quruluşunuzHarada təyin etməliQeydlər
VPS və ya ayrılmış serverPHP-nizin həqiqətən yüklədiyi php.iniSonra PHP-FPM və ya Apache-ni yenidən başladın
PHP-FPM və ya FastCGI işlədən paylaşılan hostWordPress kök qovluğundakı .user.iniTətbiq olunması 5 dəqiqəyə qədər çəkə bilər
PHP modul kimi işləyən Apache (mod_php)php_value ilə .htaccessPHP-FPM və ya FastCGI altında 500 xətası yaradır
cPanel hostuSoftware > MultiPHP INI Editorphp.ini, .user.ini və ya .htaccess faylını sizin yerinizə yazır
PHP-nin önündə NginxPHP dəyərləri ilə yanaşı client_max_body_sizeƏks halda Nginx 413 qaytarır
İdarə olunan WordPress hostuHostun paneli və ya dəstəyiBir çox host yükləmələri platforma səviyyəsində məhdudlaşdırır
Cloudflare arxasında olan saytCloudflare-in öz yükləmə limitiFree və Pro planlarında 100 MB

php.ini (idarə etdiyiniz server)

Əvvəlcə yüklənən faylı tapın. İçində <?php phpinfo(); olan müvəqqəti fayl yaradın, onu brauzerdə açın, “Loaded Configuration File” sətrini oxuyun, sonra faylı silin. Həmin php.ini faylını redaktə edin:

upload_max_filesize = 128M
post_max_size = 130M
max_execution_time = 300

Sonra dəyişikliyi oxuması üçün PHP-ni yenidən başladın. PHP-FPM-də xidmət adında versiya olur, məsələn Debian və ya Ubuntu-da sudo systemctl restart php8.3-fpm. mod_php ilə Apache-ni yenidən başladın.

.user.ini (əksər paylaşılan hostinqlər)

PHP .user.ini fayllarını yalnız CGI və ya FastCGI kimi işləyəndə oxuyur, buna PHP-FPM də daxildir. wp-config.php olan qovluqda .user.ini yaradın və ya redaktə edin:

upload_max_filesize = 128M
post_max_size = 130M

PHP bu faylları hər user_ini.cache_ttl saniyədən bir yenidən oxuyur, standart olaraq 300. İşləmədiyinə qərar verməzdən əvvəl beş dəqiqə gözləyin və ya bacarırsınızsa PHP-FPM-i yenidən başladın.

.htaccess (yalnız mod_php ilə Apache)

php_value upload_max_filesize 128M
php_value post_max_size 130M

PHP təlimatı bu direktivləri Apache modulu kimi işləyən PHP üçün təsvir edir. Yadda saxladıqdan dərhal sonra saytınız 500 Internal Server Error göstərirsə, PHP FastCGI və ya PHP-FPM kimi işləyir. Sətirləri silin və əvəzinə .user.ini istifadə edin.

cPanel MultiPHP INI Editor

cPanel-də Software > MultiPHP INI Editor bölməsini açın, domeninizi seçin və dəyərləri Basic Mode-da dəyişin. cPanel sənədlərinə görə Basic Mode dəyərləri parametri dəstəkləyən php.ini, .user.ini və .htaccess fayllarına yazır, ona görə serverinizin hansını istifadə etdiyini bilməyə ehtiyac yoxdur.

Nginx

Nginx sorğunun ölçüsünü PHP onu görməmişdən əvvəl yoxlayır. Sorğu client_max_body_size dəyərindən böyük olduqda Nginx 413 Request Entity Too Large qaytarır. Standart dəyər 1m-dir. server blokunuza ən azı post_max_size qədər böyük dəyər əlavə edin:

client_max_body_size 130M;

sudo nginx -t && sudo systemctl reload nginx ilə yoxlayın və yenidən yükləyin. Apache-də müqayisə oluna bilən parametr LimitRequestBody-dir və standart WordPress hostinqində nadir hallarda dəyişdirilməlidir.

İdarə olunan hostlar və Cloudflare

Bəzi idarə olunan WordPress hostları sizin php.ini və ya .user.ini faylınıza məhəl qoymur və limiti bütün platforma üçün təyin edir. Dəyişiklikdən sonra Saytın sağlamlığı yenə köhnə rəqəmi göstərirsə, hostunuzdan maksimumun nə qədər olduğunu və onu artıra bilib-bilməyəcəklərini soruşun.

Sayt Cloudflare üzərindən işləyirsə, Cloudflare-in öz limiti var. Onun keş sənədləri maksimal yükləmə ölçülərini Free və Pro planlarında 100 MB, Business-də 200 MB, Enterprise-də isə 5 GB-a qədər göstərir. Heç bir PHP parametri bundan keçə bilməz.

wp-config.php niyə işləmir

Bir çox məqalə wp-config.php faylına bunu əlavə etməyi məsləhət görür:

@ini_set( 'upload_max_filesize', '128M' );
@ini_set( 'post_max_size', '130M' );

Hər iki parametr INI_PERDIR-dir və PHP sənədlərinə görə bu rejimdəki parametrlər ini_set() ilə təyin edilə bilməz. @ uğursuzluğu gizlədir, ona görə sətirlər zərərsiz görünür və heç nəyi dəyişmir. wp-config.php faylının dəyişə biləcəyi şey yaddaşdır, çünki memory_limit hər yerdə təyin edilə bilər:

define( 'WP_MEMORY_LIMIT', '256M' );

Bu, böyük şəkillər emal zamanı uğursuz olanda kömək edir. Maksimal yükləmə fayl ölçüsünü dəyişmir.

Addım 4: Dəyişikliyi təsdiqləyin

Media > Yeni əlavə et səhifəsini yenidən yükləyin və maksimal yükləmə fayl ölçüsünün yeni dəyərinizi göstərdiyini yoxlayın. Göstərmirsə:

  • post_max_size dəyərinin ən azı upload_max_filesize qədər böyük olduğunu yoxlayın. WordPress kiçiyini istifadə edir.
  • PHP-nin həqiqətən yüklədiyi faylı redaktə etdiyinizə əmin olun. Səhv qovluqdakı php.ini nəzərə alınmır.
  • .user.ini dəyişikliyindən sonra beş dəqiqə gözləyin və ya PHP-FPM-i yenidən başladın.
  • WordPress-dəki rəqəm dəyişibsə, amma yükləmələr hələ də 413 ilə uğursuz olursa, maneə Nginx-də, hostunuzun proksisində və ya Cloudflare-dədir.
  • Fayl WordPress-ə çatır, sonra “HTTP xətası” ilə uğursuz olursa, problem artıq ölçüdə deyil. Şəkil yükləyərkən WordPress HTTP xətası bələdçimiz adi səbəbləri izah edir.

Limiti nə qədər qoymaq lazımdır?

Onu həqiqətən yükləməli olduğunuz ən böyük fayla bir az ehtiyatla bərabər qoyun və post_max_size dəyərini upload_max_filesize-dan bir qədər yuxarı saxlayın. Böyük yükləmələr həm də daha uzun çəkir, ona görə də yavaş bağlantılarda böyük fayllar vaxt aşımına düşürsə, max_execution_time dəyərini artırın. Uzun videolar və ya ehtiyat arxivləri kimi çox böyük fayllar üçün SFTP ilə və ya hissə-hissə yükləmə plagini ilə yükləmək adətən bir nəhəng brauzer yükləməsindən daha etibarlıdır, Cloudflare planının limiti isə brauzer yolunu onsuz da istisna edə bilər.

Hədəfinizi bildikdən sonra maksimal yükləmə ölçüsü aləti uyğun PHP sətirlərini sizin üçün yazır. Serveriniz Nginx ilə işləyirsə, bu bələdçidəki Nginx sətrini özünüz əlavə edin.

FAQ

Suallar

WordPress-də cari yükləmə limitimi necə yoxlaya bilərəm?

Media > Yeni əlavə et bölməsinə keçin. Yükləmə ekranı maksimal yükləmə fayl ölçüsünü göstərir. Arxasındakı təfərrüatlar üçün Alətlər > Saytın sağlamlığı > Məlumat bölməsini açın və Media emalı hissəsini genişləndirin. Orada yüklənən faylın maksimal ölçüsü, post məlumatlarının maksimal ölçüsü və ikisindən kiçiyi olan maksimal effektiv fayl ölçüsü göstərilir.

WordPress niyə yüklənən faylın php.ini-dəki upload_max_filesize direktivini aşdığını deyir?

Fayl PHP-nin upload_max_filesize parametrindən böyükdür. Bu limiti WordPress təyin etmir, onu PHP-dən oxuyur. upload_max_filesize və post_max_size dəyərlərini birlikdə php.ini, .user.ini və ya mod_php ilə Apache-də .htaccess faylında artırın. PHP-nin upload_max_filesize üçün öz standartı cəmi 2M-dir, baxmayaraq ki, əksər hostlar daha yüksək dəyər qoyur.

Yükləmə limitini wp-config.php-dən artırmaq olarmı?

Xeyr. upload_max_filesize və post_max_size PHP_INI_PERDIR parametrləridir və PHP onları yalnız php.ini, .htaccess, httpd.conf və ya .user.ini faylından qəbul edir. wp-config.php-dəki ini_set() sətri xətasız işləyir və heç nəyi dəyişmir. wp-config.php WordPress-in yaddaş limitini artıra bilər, amma fayl ölçüsünü məhdudlaşdıran yaddaş deyil.

PHP limitlərini artırdıqdan sonra niyə yenə də 413 Request Entity Too Large alıram?

PHP-dən əvvəl duran nəsə sorğunu rədd edir. Nginx-də bu, client_max_body_size parametridir, standartı 1m-dir və aşıldıqda 413 xətası qaytarır. Onu server blokunda artırın və Nginx-i yenidən yükləyin. Saytınız Cloudflare üzərindən işləyirsə, onun planındakı yükləmə limiti də sorğunu serverinizə çatmamış dayandıra bilər.

post_max_size upload_max_filesize-dən böyük olmalıdırmı?

Ən azı bərabər olmalıdır, bir az böyük olması daha təhlükəsizdir. Fayl digər forma məlumatları ilə birlikdə bir POST sorğusunda göndərilir, ona görə də bütün sorğu post_max_size-a hesablanır. WordPress iki dəyərdən kiçiyini yükləmə limiti kimi istifadə edir, ona görə yalnız upload_max_filesize-ı artırmaq limiti olduğu yerdə saxlayır.