Che cos'è php.ini?
Come creare e utilizzare il proprio file php.ini sull'hosting condiviso (suPHP).
Ogni utente può creare il proprio file php.ini e posizionarlo nella directory in cui si trovano i propri script. Questo ti permette di personalizzare le impostazioni PHP senza dover contattare il supporto ogni volta.
Proteggere php.ini dall'accesso pubblico
Se posizioni php.ini all'interno di public_html, assicurati di bloccare l'accesso pubblico. Apri (o crea) il file .htaccess nella cartella radice del tuo sito — ad esempio /home/user/public_html, dove user è il tuo nome utente cPanel — e aggiungi il blocco seguente:
<Files php.ini>
order allow,deny
deny from all
</Files>
In questo modo nessuno potrà visualizzare il file php.ini direttamente nel browser.
Importante
Quando PHP è in esecuzione come handler CGI o suPHP, non puoi usare php_flag, php_admin_flag, php_value o direttive simili all'interno di .htaccess. Farlo causerà un 500 Internal Server Error.
Applicare php.ini all'intero sito
Per impostazione predefinita, un php.ini personalizzato si applica solo alla directory in cui si trova. Per estenderne l'effetto all'intero sito, aggiungi una delle righe seguenti nel file .htaccess — subito prima del blocco <Files> di cui sopra — in base al tuo server:
Per la maggior parte dei server:
suPHP_ConfigPath /home/user/public_html
Per hostde6 e hostde15:
lsapi_phpini /home/user/public_html
Sostituisci user con il tuo nome utente cPanel effettivo.
Riferimento ai permessi dei file
| Permesso | Significato |
|---|---|
644 |
Il proprietario può scrivere; gli altri possono solo leggere (predefinito per i file) |
444 |
Sola lettura per tutti, inclusi i propri script |
755 |
Permessi standard per le cartelle (nessuna modifica necessaria) |
Con i permessi 644, solo gli script in esecuzione sotto il tuo account possono scrivere nei file — nessun altro può farlo. Impostare i file a 444 aggiunge un ulteriore livello di sicurezza impedendo anche ai tuoi script di modificarli, anche se si tratta di una scelta del tutto opzionale.
Come regola generale: non modificare i permessi dei file durante l'installazione degli script, anche se le istruzioni lo richiedono. Puoi tranquillamente saltare qualsiasi passaggio CHMOD.
I nostri prodotti e servizi
Esempio di php.ini con i parametri più comuni
Sintassi:
direttiva = valore— le righe che iniziano con;sono commenti e vengono ignorati da PHP.
safe_mode= Offdisable_functions=— bloccare specifiche funzioni PHP per motivi di sicurezzamax_execution_time= 30— tempo massimo di esecuzione di uno script in secondimemory_limit= 16M— memoria massima che uno script può utilizzareerror_reporting= E_ALL & ~E_NOTICE— mostrare tutti gli errori tranne le noticedisplay_errors= On— visualizzare gli errori nel browser (utile in fase di debug)variables_order= "EGPCS"— ordine in cui PHP registra le variabili: E = built-in, G = GET, P = POST, C = Cookie, S = Sessionregister_globals= On— rendere accessibili le variabili GET/POST/Cookie/Session come variabili comunipost_max_size= 55M— dimensione massima dei dati POST accettatimagic_quotes_gpc= On— escaping automatico delle virgolette da input POST/GET/Cookiefile_uploads= On— consentire il caricamento di file;upload_tmp_dir=— directory temporanea per i file caricati (creala se imposti questo parametro)upload_max_filesize= 5M— dimensione massima di un singolo file caricatosession.save_handler= files— salvare i dati di sessione in filesession.save_path= /tmp— directory per i file di sessione (creala se necessario)session.use_cookies= 1— usare i cookie per gestire le sessionisession.name= PHPSESSID— nome del cookie usato per identificare la sessionesession.auto_start= 0— non avviare automaticamente una sessione a ogni richiestasession.cookie_lifetime= 0— il cookie di sessione scade alla chiusura del browsersession.use_trans_sid= 1— aggiungere automaticamente l'ID di sessione ai link (fallback se i cookie sono disabilitati)
Aiuto
Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!