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

Hosting WebServizi di hosting affidabili per siti web di qualsiasi dimensione.
Ordina
VPSInfrastruttura cloud flessibile con accesso root completo.
Ordina
Server DedicatiServer dedicati per le massime prestazioni.
Ordina

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 = Off
  • disable_functions = — bloccare specifiche funzioni PHP per motivi di sicurezza
  • max_execution_time = 30 — tempo massimo di esecuzione di uno script in secondi
  • memory_limit = 16M — memoria massima che uno script può utilizzare
  • error_reporting = E_ALL & ~E_NOTICE — mostrare tutti gli errori tranne le notice
  • display_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 = Session
  • register_globals = On — rendere accessibili le variabili GET/POST/Cookie/Session come variabili comuni
  • post_max_size = 55M — dimensione massima dei dati POST accettati
  • magic_quotes_gpc = On — escaping automatico delle virgolette da input POST/GET/Cookie
  • file_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 caricato
  • session.save_handler = files — salvare i dati di sessione in file
  • session.save_path = /tmp — directory per i file di sessione (creala se necessario)
  • session.use_cookies = 1 — usare i cookie per gestire le sessioni
  • session.name = PHPSESSID — nome del cookie usato per identificare la sessione
  • session.auto_start = 0 — non avviare automaticamente una sessione a ogni richiesta
  • session.cookie_lifetime = 0 — il cookie di sessione scade alla chiusura del browser
  • session.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!

Hai bisogno di aiuto?I nostri ingegneri ti aiuteranno gratuitamente con qualsiasi domanda in pochi minutiContattaci