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 secondo le 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
    Nota bene: 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 sensibili agli hacker. Si raccomanda pertanto di disattivare questa impostazione.

  • disable_functions

    Specifica un elenco di funzioni da disattivare. Queste di solito non vengono usate dal software PHP, ma potrebbero essere usate dagli hacker.
    Esempio: disable_functions = exec,system,passthru,shell_exec, popen,escapehellcmd,proc_open,proc_nice,ini_restore

  • safe_mode = On

    Se abiliti il Safe Mode, il software PHP funziona in modalità protetta. In caso di modifiche ai file vengono effettuati ulteriori controlli e l'accesso alle variabili di ambiente è limitato.

Impostazioni limite script

Nota bene: i valori limite per la memoria RAM sono riportati di seguito nella notazione tipica di php.ini. 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 modulo, 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
    Nota bene: 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. Impostazione predefinita: 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)