Dacă ai instalat o platformă web (Flarum, Nextcloud, WordPress) și primești erori când încerci să încarci fișiere mai mari de 2 MB, problema nu este la aplicația ta, ci la setările implicite de securitate ale PHP-ului.
Acest ghid îți arată cum să modifici fișierul principal de configurare php.ini pentru a permite încărcarea de fișiere mari (ex: 512 MB sau 1 GB).
Pasul 1: Găsirea fișierului php.ini corect
Locația fișierului diferă în funcție de modul în care ai instalat PHP. Dacă ai urmat tutorialele noastre anterioare, probabil folosești PHP 8.4 FPM.
Deschide fișierul în editorul Nano rulând una dintre comenzile de mai jos (alege varianta potrivită serverului tău):
Pentru PHP-FPM (Recomandat/Modern):
sudo nano /etc/php/8.4/fpm/php.ini
Pentru modulul clasic Apache:
sudo nano /etc/php/8.4/apache2/php.ini
(Notă: Dacă folosești altă versiune de PHP, de exemplu 8.3, pur și simplu modifică cifra în comandă).
Pasul 2: Modificarea valorilor
Fișierul php.ini este uriaș, așa că vom folosi funcția de căutare din Nano pentru a găsi rapid liniile care ne interesează.
Apasă Ctrl + W, scrie cuvântul căutat și apasă Enter.
Caută și modifică următoarele 4 variabile. Șterge valoarea veche (ex: 2M) și pune noua valoare dorită (ex: 512M pentru 512 Megabytes sau 1G pentru 1 Gigabyte).
Dimensiunea maximă a unui fișier:
- Caută:
upload_max_filesize
- Modifică în:
upload_max_filesize = 512M
Dimensiunea maximă a unei postări întregi (trebuie să fie egală sau mai mare decât valoarea de sus):
- Caută:
post_max_size
- Modifică în:
post_max_size = 512M
Limita de memorie RAM alocată unui script (recomandat să fie mai mare decât post_max_size):
- Caută:
memory_limit
- Modifică în:
memory_limit = 1024M (sau 1G)
Timpul maxim de execuție (pentru ca upload-ul să nu dea "Time Out" dacă ai internet lent):
- Caută:
max_execution_time
- Modifică în:
max_execution_time = 300 (adică 5 minute)
După ce ai modificat toate cele 4 linii, salvează fișierul: apasă Ctrl + O, confirmă cu Enter, apoi ieși cu Ctrl + X.
Pasul 3: Aplicarea modificărilor
Pentru ca serverul web să citească noile setări, trebuie să repornim serviciul PHP și Apache.
sudo systemctl restart php8.4-fpm
sudo systemctl restart apache2
🎉 Gata! Întoarce-te pe forumul sau site-ul tău și încearcă să încarci acel fișier mare. Va funcționa perfect!