In questa guida, che userò come reminder in futuro, voglio inserire tutti i metodi che conosco per aumentare la dimensione massima dei file in upload su WordPress, in ambiente Nginx + PHP5-FPM.
La prima cosa da fare è controllare il file di configurazione di PHP.
Modifica il file di configurazione di PHP5-FPM
Il file di configurazione di PHP si chiama php.ini e di solito lo trovi qui /etc/php5/fpm/php.ini.
Assicurati che le opzioni di seguito elencate siano senza commenti nel tuo file di configurazione. Aumenta i valori se necessario.
upload_limit = 128M;
memory_limit = 128M
post_max_size = 128M
file_uploads = On
upload_max_filesize = 128M
max_execution_time = 180
max_input_time = 180
Modifica il file di configurazione di Nginx
Ora devi impostare Nginx e hai due possibilità per farlo: modificare il file di configurazione del singolo sito, il Server Block – Virtual Hosts (/etc/nginx/sites-available/example.com) oppure modificare il file di configurazione di Nginx (/etc/nginx/nginx.conf). La prima scelta avrà impatto solo sul singolo sito, mentre la seconda modificherà tutti i siti ospitati sul web server.
Il parametro client_max_body_size 128m; lo devi inserire a livello globale.
Opzione locale: singolo sito
# Sudo nano /etc/nginx/sites-available/example.com
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_read_timeout 300;
}
Opzione globale: tutti i siti
#sudo nano /etc/nginx/nginx.conf
http {
#...
fastcgi_read_timeout 300;
#...
#...
client_max_body_size 128m;
#...
}
Modifica il file di configurazione di WordPress
Il file di configurazione di WordPress si trova nella root e si chiama wp-config.php. Aggiungi in questo file la riga seguente.
define(’WP_UPLOAD_LIMIT’, ‘128M’);
Modifica le impostazioni in WordPress Multisite
Se il tuo sito gira in una installazione WordPress multisite, l’amministratore può definire non solo lo spazio a tua disposizione ma anche la dimensione massima dei file che tu puoi caricare.
L’opzione da modificare si trova nel file: ../wp-admin/network/settings.php.
In inglese: Network Admin Dashboard >> Settings, cerca l’opzione Upload Settings.
In italiano lo trovi sotto: Impostazioni >> Impostazioni di rete >> Impostazioni caricamento file.
Riavvia il web server
Ora devi riavviare il web server per caricare le nuove impostazioni. Apri il terminale e digita:
sudo service php5-fpm restart
sudo service nginx restart
A questo punto sarai in grado di caricare i file delle dimensioni che hai impostato.