Quali impostazioni di PHP posso modificare?

In questo articolo trovi una panoramica delle direttive php.ini più importanti con le quali puoi modificare le impostazioni PHP del tuo pacchetto di Hosting alle esigenze del tuo sito web.

Nota bene:

Dal momento che le versioni PHP 4, PHP 5.2, PHP 5.4 e PHP 5.5 non vengono più supportate dalla comunità di PHP, queste sono disponibili nei nostri pacchetti Hosting solo per i clienti che utilizzano PHP Extended Support.

Impostazioni per la sicurezza

  • register globals = On
    Suggerimento: questa impostazione è stata rimossa su PHP 5.4.
    Disattivando questa impostazione, la sicurezza viene migliorata in quanto non è più così semplice inserire variabili modificate in un codice.
  • allow_furl_open = On

    Questa impostazione determina se URL esterni possono avere accesso ai file. Impedire l'accesso ai file da parte di URL esterni è importante per aumentare la sicurezza in quanto rende agli hacker più difficile caricare malware.

  • display_errors = Off

    Sebbene la visualizzazione degli errori sia utile per il debug, fornisce anche informazioni interne agli aggressori. Si raccomanda pertanto di spegnerli.

  • disable_functions

    Specifica un elenco di funzioni da disattivare. Questi di solito non sono usati dal software PHP, ma dagli aggressori.
    Esempio: disable_functions = exec,system,passthru,shell_exec, popen,escapehellcmd,proc_open,proc_nice,ini_restore

  • safe_mode = On

    Abilita la modalità provvisoria, che causa il funzionamento di PHP in modalità provvisoria. Ulteriori controlli vengono effettuati durante le operazioni sui file e l'accesso alle variabili di ambiente è limitato.

Impostazioni limite script

Suggerimento: i valori limite per la memoria di lavoro (RAM) sono riportati di seguito nella notazione php.ini-tipica. Ad esempio, un valore di 256M limita la memoria disponibile a 256 megabyte (MB).

  • memory_limit = 256M

    Specifica la quantità massima di memoria (RAM) che uno script può utilizzare. ATTENZIONE: Indipendentemente dal valore globale specificato qui, si applica il limite di memoria specificato per il pacchetto. Valori più alti vengono quindi ignorati dal server web. Per esempio, per impostare il limite di memoria a 512 MB, deve essere inserito nel php.ini: limite di memoria = 512M

  • post_max_size = 64M

    Determina la quantità massima di dati che possono essere trasferiti tramite il metodo POST. Se si vogliono caricare file di grandi dimensioni usando un form, il valore dovrebbe essere maggiore di upload_max_filesize. Per esempio, per impostare post_max_size a 128 MB, inserisci quanto segue in php.ini: post_max_size = 128M
    Suggerimento: La dimensione effettiva può variare. Ad esempio, se viene superato il runtime massimo dello script. Inoltre, il limite di memoria deve essere maggiore di post_max.

  • upload_max_filesize = 64M

    Determina la dimensione dei file che possono essere caricati utilizzando un modulo. Per esempio, per caricare file fino a 128 MB, inserisci quanto segue in php.ini: upload_max_filesize = 128M

  • max_execution_time = 60

    Limite di tempo per l'esecuzione di uno script. ATTENZIONE: Indipendentemente dal valore globale specificato qui, si applica il Max_Execution_Time specificato per il pacchetto. Valori più alti vengono quindi ignorati dal server web. Per esempio, per limitare il tempo di esecuzione degli script a 45 secondi, inserisci quanto segue nel tuo php.ini: max_execution_time = 45

Altre impostazioni

  • zlib.output_compressione = off

    Comprime i file php in formato gzip

  • session.auto_start = off

    Specifica se il modulo di sessione avvia automaticamente una sessione all'inizio di una richiesta. Predefinito 0(disabilitato).

  • max_input_vars = 5000

    Questa direttiva impedisce l'uso di collisioni hashtable per un attacco di negazione del servizio. Se viene inviato un numero di variabili di ingresso superiore a quello consentito dalla presente direttiva, viene generato un errore di livello E_WARNING e non vengono accettate altre variabili di ingresso. Questo limite viene calcolato individualmente per gli array di input multidimensionali per ciascun livello di nidificazione.

  • max_input_time = -1

    Specifica il tempo massimo in secondi che uno script può impiegare per elaborare i dati di input (ad esempio POST, GET e upload di file). Il tempo viene misurato alla ricezione dei dati sul server fino all'avvio dell'esecuzione dello script. Tempo in secondi (-1 = nessun limite)