{"id":25665,"date":"2026-02-20T10:00:00","date_gmt":"2026-02-20T09:00:00","guid":{"rendered":"https:\/\/soccorsowp.it\/blog\/?p=25665"},"modified":"2026-02-20T10:00:00","modified_gmt":"2026-02-20T09:00:00","slug":"configurare-php-wordpress-prestazioni-ottimali","status":"publish","type":"post","link":"https:\/\/soccorsowp.it\/blog\/configurare-php-wordpress-prestazioni-ottimali\/","title":{"rendered":"Come configurare PHP per ottenere il massimo da WordPress"},"content":{"rendered":"<h1>Come configurare PHP per ottenere il massimo da WordPress<\/h1>\n<p><a href=\"https:\/\/soccorsowp.it\/blog\/blocco-di-contenuti-opt-in-per-wordpress\/\">WordPress<\/a> \u00e8 un&#8217;applicazione PHP e le prestazioni del tuo sito dipendono direttamente dalla <strong>configurazione di PHP<\/strong> sul server. Impostazioni come la versione di PHP, i limiti di memoria, il tempo massimo di esecuzione e le estensioni attive influenzano la velocit\u00e0, la stabilit\u00e0 e le funzionalit\u00e0 del sito. In questa guida ti mostro le <strong>impostazioni PHP ottimali per WordPress<\/strong> e come configurarle sul tuo hosting.<\/p>\n<h2>Quale versione di PHP usare<\/h2>\n<p>La scelta della versione di PHP \u00e8 l&#8217;impostazione pi\u00f9 impattante sulle prestazioni. Ogni nuova versione di PHP introduce miglioramenti significativi nella velocit\u00e0 di esecuzione:<\/p>\n<ul>\n<li><strong>PHP 8.3<\/strong> (la pi\u00f9 recente stabile) \u00e8 la versione consigliata. Offre le migliori prestazioni, il minor consumo di memoria e le funzionalit\u00e0 di sicurezza pi\u00f9 aggiornate.<\/li>\n<li><strong>PHP 8.2<\/strong> \u00e8 un&#8217;ottima alternativa se qualche plugin non supporta ancora PHP 8.3.<\/li>\n<li><strong>PHP 8.1<\/strong> \u00e8 accettabile ma in End of Life per il supporto di sicurezza. Pianifica l&#8217;aggiornamento.<\/li>\n<li><strong>PHP 7.4 e inferiori<\/strong> non ricevono pi\u00f9 aggiornamenti di sicurezza. Aggiornare \u00e8 urgente.<\/li>\n<\/ul>\n<p>Per verificare la versione attuale, vai su <span style=\"font-family: monospace\">Strumenti \u2192 Salute del sito \u2192 Informazioni \u2192 Server<\/span> nella dashboard di WordPress. Per cambiare versione, accedi al pannello del tuo hosting: Plesk offre la selezione nella sezione PHP del dominio, cPanel nella sezione &#8220;Select PHP Version&#8221;.<\/p>\n<p><strong>Prima di aggiornare:<\/strong> testa la nuova versione su un ambiente di staging. La maggior parte dei problemi di compatibilit\u00e0 genera errori fatali immediatamente visibili. Plugin obsoleti o abbandonati sono i principali responsabili di incompatibilit\u00e0.<\/p>\n<h2>Limiti di memoria PHP<\/h2>\n<p>Il <strong>memory_limit<\/strong> definisce quanta RAM PHP pu\u00f2 usare per eseguire un singolo script. WordPress consiglia un minimo di 128MB, ma per un funzionamento ottimale con plugin e WooCommerce servono almeno <strong>256MB<\/strong>.<\/p>\n<p>Se il limite \u00e8 troppo basso, vedrai errori come &#8220;Allowed memory size exhausted&#8221; o il sito si bloccher\u00e0 durante operazioni pesanti come importazioni, aggiornamenti di massa o generazione di report WooCommerce.<\/p>\n<p>Per aumentare il limite, hai tre opzioni (in ordine di priorit\u00e0):<\/p>\n<ol>\n<li><strong>Dal pannello hosting:<\/strong> Plesk e cPanel permettono di modificare il memory_limit dalla sezione PHP del dominio.<\/li>\n<li><strong>Nel file php.ini:<\/strong> aggiungi o modifica la riga <span style=\"font-family: monospace\">memory_limit = 256M<\/span>.<\/li>\n<li><strong>In wp-config.php:<\/strong> aggiungi <span style=\"font-family: monospace\">define(&#8216;WP_MEMORY_LIMIT&#8217;, &#8216;256M&#8217;);<\/span> \u2014 questo sovrascrive il limite solo per WordPress.<\/li>\n<\/ol>\n<p>Non impostare valori eccessivi come 1024M o unlimited: se uno script ha un memory leak, consumer\u00e0 tutta la RAM del server causando problemi a tutti i siti ospitati.<\/p>\n<h2>Tempo massimo di esecuzione<\/h2>\n<p>Il <strong>max_execution_time<\/strong> definisce quanti secondi uno script PHP pu\u00f2 girare prima di essere interrotto. Il valore predefinito \u00e8 30 secondi, sufficiente per il normale funzionamento del sito. Ma alcune operazioni richiedono pi\u00f9 tempo: aggiornamenti di plugin, importazioni di contenuti, backup e operazioni WooCommerce di massa.<\/p>\n<p>Il valore consigliato per WordPress \u00e8 <strong>300 secondi<\/strong> (5 minuti). Puoi impostarlo nel php.ini:<\/p>\n<pre>max_execution_time = 300<\/pre>\n<p>Se un&#8217;operazione richiede pi\u00f9 di 5 minuti, il problema non \u00e8 il timeout ma l&#8217;operazione stessa che andrebbe eseguita in modo diverso (WP-CLI via SSH per importazioni massive, ad esempio).<\/p>\n<h2>Dimensione massima degli upload<\/h2>\n<p>Due impostazioni PHP controllano la dimensione massima dei file caricabili: <strong>upload_max_filesize<\/strong> e <strong>post_max_size<\/strong>. La prima definisce la dimensione massima di un singolo file, la seconda la dimensione massima totale di una richiesta POST (che deve essere maggiore o uguale a upload_max_filesize).<\/p>\n<p>Il valore predefinito \u00e8 spesso 2MB, insufficiente per immagini ad alta risoluzione, video o backup. Per un sito WordPress standard:<\/p>\n<pre>upload_max_filesize = 64M\npost_max_size = 128M<\/pre>\n<p>Per WooCommerce con cataloghi importabili via CSV o siti con gallerie fotografiche, puoi aumentare a 128M e 256M rispettivamente. Ricorda che questi limiti influenzano anche l&#8217;importazione di plugin e temi come file ZIP dalla dashboard.<\/p>\n<h2>OPcache: la cache che conta davvero<\/h2>\n<p><strong>OPcache<\/strong> memorizza il bytecode compilato degli script PHP, eliminando la necessit\u00e0 di ricompilare ogni file a ogni richiesta. L&#8217;impatto sulle prestazioni \u00e8 enorme: il TTFB pu\u00f2 dimezzarsi semplicemente attivando OPcache con le impostazioni corrette.<\/p>\n<p>Le impostazioni consigliate per WordPress nel php.ini:<\/p>\n<pre>opcache.enable=1\nopcache.memory_consumption=256\nopcache.interned_strings_buffer=16\nopcache.max_accelerated_files=10000\nopcache.revalidate_freq=60\nopcache.save_comments=1\nopcache.enable_cli=0<\/pre>\n<p>I valori chiave: <span style=\"font-family: monospace\">memory_consumption<\/span> definisce quanta RAM dedicare alla cache (256MB \u00e8 sufficiente per la maggior parte dei siti), <span style=\"font-family: monospace\">max_accelerated_files<\/span> il numero massimo di file cachabili (WordPress con plugin pu\u00f2 avere oltre 5000 file PHP) e <span style=\"font-family: monospace\">revalidate_freq<\/span> ogni quanti secondi verificare se i file sono stati modificati (60 secondi \u00e8 un buon compromesso tra prestazioni e reattivit\u00e0 alle modifiche).<\/p>\n<p><span style=\"font-family: monospace\">save_comments<\/span> deve essere 1 perch\u00e9 molti framework PHP (e alcune funzionalit\u00e0 di WordPress) usano le annotazioni nei commenti del codice.<\/p>\n<h2>Estensioni PHP necessarie per WordPress<\/h2>\n<p>WordPress richiede alcune <strong>estensioni PHP<\/strong> per funzionare correttamente. La maggior parte \u00e8 installata di default, ma su VPS o server personalizzati potrebbe mancare qualcosa:<\/p>\n<ul>\n<li><strong>Obbligatorie:<\/strong> mysqli (connessione al database), json, curl, dom, exif, fileinfo, mbstring, openssl, xml, zip.<\/li>\n<li><strong>Consigliate:<\/strong> imagick (elaborazione immagini avanzata, migliore di GD), intl (gestione delle lingue e localizzazione), sodium (crittografia moderna).<\/li>\n<li><strong>Per WooCommerce:<\/strong> tutte le precedenti pi\u00f9 soap (per alcuni gateway di pagamento) e bcmath (calcoli di precisione per i prezzi).<\/li>\n<\/ul>\n<p>Puoi verificare le estensioni attive dalla pagina <span style=\"font-family: monospace\">Strumenti \u2192 Salute del sito<\/span> nella dashboard. WordPress segnala automaticamente le estensioni mancanti o raccomandate.<\/p>\n<h2>PHP-FPM vs mod_php<\/h2>\n<p>Il modo in cui PHP viene eseguito dal server web influisce sulle prestazioni e sulla sicurezza:<\/p>\n<ul>\n<li><strong>mod_php:<\/strong> PHP gira come modulo di Apache. Semplice ma inefficiente: ogni processo Apache carica PHP in memoria anche per servire file statici (immagini, CSS, JS).<\/li>\n<li><strong>PHP-FPM (FastCGI Process Manager):<\/strong> PHP gira come processo separato, comunicando con il web server tramite FastCGI. Pi\u00f9 efficiente nell&#8217;uso della memoria, pi\u00f9 sicuro (processi isolati) e configurabile per pool di risorse dedicati a ogni sito.<\/li>\n<\/ul>\n<p><strong>PHP-FPM \u00e8 la scelta consigliata<\/strong> per qualsiasi sito WordPress in produzione. Su Plesk \u00e8 l&#8217;opzione predefinita. Su cPanel \u00e8 selezionabile come &#8220;PHP-FPM&#8221; nelle impostazioni PHP del dominio. Su Nginx, PHP-FPM \u00e8 l&#8217;unica opzione (Nginx non supporta mod_php).<\/p>\n<h2>Impostazioni di sicurezza PHP<\/h2>\n<p>Alcune impostazioni PHP migliorano la <strong>sicurezza<\/strong> del sito WordPress:<\/p>\n<pre>expose_php = Off\ndisplay_errors = Off\nlog_errors = On\nerror_log = \/var\/log\/php\/error.log\nallow_url_fopen = On\nallow_url_include = Off\ndisable_functions = exec,passthru,shell_exec,system,proc_open,popen<\/pre>\n<p><span style=\"font-family: monospace\">expose_php = Off<\/span> nasconde la versione di PHP dagli header HTTP. <span style=\"font-family: monospace\">display_errors = Off<\/span> evita di mostrare errori dettagliati ai visitatori. <span style=\"font-family: monospace\">allow_url_include = Off<\/span> impedisce l&#8217;inclusione di file remoti, un vettore di attacco comune. Le funzioni disabilitate in <span style=\"font-family: monospace\">disable_functions<\/span> impediscono l&#8217;esecuzione di comandi di sistema da PHP \u2014 utile per prevenire danni in caso di compromissione di un plugin.<\/p>\n<p><strong>Attenzione:<\/strong> <span style=\"font-family: monospace\">allow_url_fopen<\/span> deve rimanere <span style=\"font-family: monospace\">On<\/span> perch\u00e9 WordPress la usa per gli aggiornamenti e per comunicare con le API esterne. Le funzioni in <span style=\"font-family: monospace\">disable_functions<\/span> vanno calibrate: alcuni plugin legittimi (backup, WP-CLI) potrebbero aver bisogno di <span style=\"font-family: monospace\">exec<\/span> o <span style=\"font-family: monospace\">proc_open<\/span>.<\/p>\n<h2>Hai bisogno di ottimizzare la configurazione PHP?<\/h2>\n<p>La configurazione PHP ottimale dipende dal tipo di sito, dai plugin installati, dal traffico e dall&#8217;hosting utilizzato. Un&#8217;impostazione sbagliata pu\u00f2 causare errori, rallentamenti o problemi di sicurezza. Se vuoi che il tuo sito WordPress sfrutti al massimo le capacit\u00e0 del server, il team di <strong><a href=\"https:\/\/soccorsowp.it\/blog\/i-migliori-plugin-woocommerce-per-dominare-il-black-friday\/\">SoccorsoWP<\/a><\/strong> pu\u00f2 analizzare la configurazione attuale, ottimizzare tutti i parametri PHP e verificare che tutto funzioni perfettamente. <a href=\"https:\/\/soccorsowp.it\/ticket\/\">Apri un ticket<\/a> e ottieni prestazioni ottimali.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come configurare PHP per ottenere il massimo da WordPress WordPress \u00e8 un&#8217;applicazione PHP e le prestazioni del tuo sito dipendono direttamente dalla configurazione di PHP&#8230;<\/p>\n","protected":false},"author":1,"featured_media":25666,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"Configurare PHP per WordPress: impostazioni ottimali","_seopress_titles_desc":"Come configurare PHP per WordPress: versione, memory_limit, OPcache, upload, PHP-FPM, estensioni e sicurezza per prestazioni ottimali.","_seopress_robots_index":"","footnotes":""},"categories":[1698],"tags":[],"class_list":{"0":"post-25665","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-hosting-wordpress"},"_links":{"self":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25665","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/comments?post=25665"}],"version-history":[{"count":1,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25665\/revisions"}],"predecessor-version":[{"id":26096,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25665\/revisions\/26096"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media\/25666"}],"wp:attachment":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media?parent=25665"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/categories?post=25665"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/tags?post=25665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}