Configurare PHP: il file php.ini

Configurare PHP: il file php.ini

Dopo aver installato PHP tramite XAMPP, nella directory C:\xampp\php è possibile trovare un file di testo di nome php.ini, che ci consente di intervenire sulla configurazione PHP e le funzionalità del linguaggio.

Nel caso PHP sia eseguito come modulo del server, il file viene letto una sola volta (all'avvio del server). Mentre nel caso PHP sia eseguito in modalità CGI o CLI, il file viene letto ad ogni esecuzione.

Direttive php.ini

Il settaggio della configurazione avviene tramite la modifica delle cosiddette direttive presenti all'interno del file, di cui è mostrato un esempio:

Nota: quando si effettuano modifiche al file php.ini bisogna ricordarsi di riavviare il web server per rendere effettive le modifiche. Se si sta utilizzando XAMPP aprire il pannello di controllo, stoppare Apache e riavviarlo.

Di seguito sono elencate alcune regole di sintassi per le direttive:

  • Ciascuna direttiva è composta dal nome seguito dal simbolo di uguale e dal valore.
  • Le direttive sono case sensitive, i valori no.
  • Le righe che iniziano con il punto e virgola vengono ignorate.
  • I valori possono essere stringhe, numeri, costanti, oppure valori booleani, che indicano l'attivazione/disattivazione di una direttiva: 1/0, yes/no, on/off o true/false.

Vediamo alcune delle direttive più usate e il loro significato:

Direttiva PHP Descrizione
allow_url_include Consente l'utilizzo di wrapper fopen compatibili con l'URL con le seguenti funzioni: include(), include_once(), require(), require_once().
disable_functions Consente di disabilitare determinate funzioni per motivi di sicurezza. Ciascun nome di funzione è delimitato da una virgola. Es. show_source, system, shell_exec, passthru, exec, popen, proc_open
display_errors Determina se gli errori devono essere mostrati a video o se devono essere nascosti all'utente.
file_uploads Determina se consentire o meno il caricamento di file.
max_execution_time Imposta il tempo massimo in secondi di esecuzione di uno script, prima che venga terminato dal parser. Ciò impedisce che programmi scritti male possano bloccare il web server. Il valore ottimale è 30.
memory_limit Imposta la quantità massima di memoria RAM in byte che uno script è autorizzato ad allocare. Questo previene che la memoria venga saturata da un programma scritto male. Un valore pari a -1 non pone limiti all'utilizzo di memoria. È possibile utilizzare il suffisso M davanti al valore per indicare i megabyte. Es. 128M.
post_max_size Imposta la dimensione massima consentita per i dati inviati tramite POST. Questa impostazione influenza anche il caricamento dei file, dato che questi vengono inviati al server tramite una richiesta POST. Per caricare file di grandi dimensioni, questo valore deve essere maggiore di upload_max_filesize.
session.gc_maxlifetime Specifica la scadenza in secondi dei dati di sessione. Oltrepassato questo valore i dati verranno ripuliti.
upload_max_filesize Specifica la dimensione massima che può avere un singolo file prima di essere caricato.

La lista completa delle direttive PHP può essere consultata sul sito ufficiale all'indirizzo https://www.php.net/manual/en/ini.php.

Estensioni del linguaggio

Esistono alcune direttive che consentono di attivare/disattivare le estensioni del linguaggio, chiamate anche moduli, che permettono di arricchire le funzionalità di PHP.

Alcune delle estensioni più usate:

  • extension=curl: abilita l'utilizzo di cURL per il trasferimento di dati su vari protocolli.
  • extension=fileinfo: abilita la libreria FileInfo, che consente di ricavare tipo di contenuto e codifica di un file, analizzando determinate sequenze di byte all'interno del file.
  • extension=gd2: abilita la libreria GD2 per la manipolazione di immagini.
  • extension=mbstring: abilita il supporto per le stringhe multi-byte.
  • extension=mysqli: fornisce un'interfaccia per poter interagire con MySQL. È una versione migliorata dell'ormai rimossa estensione mysql.
  • extension=openssl: abilita l'uso della libreria OpenSSL per la crittografia simmetrica/asimmetrica.
  • extension=pdo_mysql: abilita l'utilizzo della libreria PHP Data Objects (PDO), per l'accesso al database MySQL tramite un'unica interfaccia.

Tramite le Zend API, ossia l'interfaccia di comunicazione verso l'interprete PHP, è possibile scrivere ulteriori estensioni che estendono le funzionalità del linguaggio. È necessaria la conoscenza del linguaggio di programmazione C.

È possibile visualizzare la lista completa delle estensioni attive tramite la funzione PHP get_loaded_extensions() .

Verificare la configurazione PHP

È possibile verificare i cambiamenti alla configurazione PHP digitando il comando php -info dal terminale di sistema.

Un metodo alternativo consiste nell'utilizzo della funzione nativa phpinfo(), posta all'interno di un file .php.

<?php

phpinfo();

Per ottenere l'output della configurazione PHP segui i passi seguenti:

  1. Apri la directory C:\xampp\htdocs
  2. Crea un file di testo e rinominalo in phpinfo.php
  3. Apri il file con un editor di testo e scrivi il codice dell'esempio, quindi salva.
  4. Apri il browser e visualizza l'output del programma all'indirizzo http://localhost/phpinfo.php

L'output del programma sarà diverso a seconda del sistema operativo in uso e dei settaggi nel php.ini.

Configurazione PHP

Ora che abbiamo installato e configurato PHP, possiamo passare alla guida successiva dove introdurremo la sintassi PHP e vedremo i primi esempi di codice.

Guida successiva: Sintassi PHP