# PHP/Installazione/Linux

PHP
Copertina Tutti i moduli · Sviluppo
    CopertinaPHP/Copertina
* IntroduzionePHP/Introduzione
** StoriaPHP/Introduzione/Storia
** Come funzionaPHP/Introduzione/Come funziona
* Installazione e configurazionePHP/Installazione e configurazione
** InstallazionePHP/Installazione
*** LinuxPHP/Installazione/Linux
*** WindowsPHP/Installazione/Windows
*** Mac OS XPHP/Installazione/Mac OS X
** ConfigurazionePHP/Configurazione
* ProgrammazionePHP/Programmazione
** CommentiPHP/Programmazione/Commenti
** VariabiliPHP/Programmazione/Variabili
** OperatoriPHP/Programmazione/Operatori
** ArrayPHP/Programmazione/Array
** CondizioniPHP/Programmazione/Condizioni
** CicliPHP/Programmazione/Cicli
** Funzioni di basePHP/Programmazione/Funzioni di base
** Funzioni personalizzatePHP/Programmazione/Funzioni personalizzate
** Variabili globaliPHP/Programmazione/Variabili globali
*** $GLOBALSPHP/Programmazione/Variabili globali/$GLOBALS
*** $_GETPHP/Programmazione/Variabili globali/$_GET
*** $_POSTPHP/Programmazione/Variabili globali/$_POST
*** $_SESSIONPHP/Programmazione/Variabili globali/$_SESSION
*** $_COOKIEPHP/Programmazione/Variabili globali/$_COOKIE
*** $_SERVERPHP/Programmazione/Variabili globali/$_SERVER
** FilePHP/Programmazione/File
** ImmaginiPHP/Programmazione/Immagini
** Espressioni regolariPHP/Programmazione/Regexp
** Programmazione orientata agli oggettiPHP/Programmazione/OOP
* Programmazione avanzata con le classi PEARPHP/PEAR
* PHP e i databasePHP/Database
** Funzioni PHP per l'accesso ai database
*** Funzioni MySQLPHP/Programmazione/MySQL
**** Accesso al databasePHP/Programmazione/MySQL/Accesso al database
**** QueryPHP/Programmazione/MySQL/Query
**** Risultati di una queryPHP/Programmazione/MySQL/Risultati di una query
**** Liberare memoria dai risultati di una queryPHP/Programmazione/MySQL/Liberare memoria dai risultati di una query
**** Chiudi connessione al dbPHP/Programmazione/MySQL/Chiudi connessione al db
*** Funzioni PostgreSQLPHP/PostgreSQL
**** Accesso al database
**** Query
**** Risultati di una query
*** Funzioni Sqlite
**** Accesso al database
**** Query
**** Risultati di una query
** Database e object oriented
*** Abstraction Layers
**** PDO - Php Data Objects
**** PEAR::MDB2
**** Creole
*** Object Relational Mapping (ORM)
**** PEAR:DB_DataObject
**** PEAR:DB_Table
**** Propel
* PHP Design PatternPHP/PHP Design Pattern
* SmartyPHP/Smarty
* Sicurezza delle applicazioni web
* PHP CLI: Command Line InterpreterPHP/Cli
* PHP GTK2: applicazioni desktop in PHPPHP/Gtk
* Crediti
Modifica il sommario

## Sistemi Debian-Like

Nel caso di distribuzioni basate su Debian (come Debian stesso, Ubuntu, ecc) l'installazione di PHP può essere fatta tramite la console usando il comando apt-get oppure, tramite l'interfaccia grafica del gestore di pacchetti Synaptic.

### Tramite apt-get

Per prima cosa è necessario avere un server web attivo, solitamente si usa Apache. Per installarlo digitiamo:
Ora è possibile procedere con l'installazione di PHP (l'asterisco deve essere sostituito con il numero della versione di PHP che si desidera installare sul proprio sistema, solitamente si sceglie l'ultima disponibile):
Per verificare l'avvenuta installazione di PHP si procede con:
Il primo comando crea una pagina di test contenente un piccolo script di prova (la cartella potrebbe essere diversa, per esempio /srv/www) e il secondo comando assegna la pagina di test al proprietario e al gruppo di default di Apache chiamato www-data. Se tutto funziona correttamente, visualizzando la pagina:
Sarà possibile vedere tutte le informazioni relative a PHP: Ciò significa che Apache e PHP funzionano correttamente.
Nota: È fortemente sconsigliato utilizzare la funzione phpinfo in ambiente di produzione

### Tramite Synaptic

Nel caso di distribuzioni come Ubuntu è possibile installare PHP utilizzando il Gestore di pacchetti Synaptic. Non è consigliabile marcare i singoli pacchetti da installare poiché anche un utente esperto potrebbe dimenticarne qualcuno.
È più facile tenere a mente che si vuole realizzare un ambiente LAMP (Linux/Apache/MySQL/PHP) e procedere come segue:
* Selezionare il menù Modifica;
* Portarsi alla voce Marca pacchetti per attività;
* Selezionare LAMP Server;
* Premere OK.
Questa modalità consente di sfruttare gruppi di pacchetti preselezionati per attività specifiche. Quando viene selezionata un'attività, i pacchetti corrispondenti vengono marcati automaticamente per l'installazione. Premendo Applica si installeranno tutti i pacchetti selezionati.

## Altri sistemi GNU/Linux
### Da sorgente

L'installazione da sorgenti per GNU/Linux è del tutto equivalente alle operazioni effettuate per ogni altro pacchetto libero su un sistema Unix like qualsiasi, come per esempio i sistemi *BSD.
Per prima cosa ci si procura il sorgente che avrà un nome tipo: php-x.y.z.tar.gz dove x.y.z indicano i valori di versione e sottoversione. Una volta scaricati si scompattano con il comando:
Poi si dovrà entrare nella cartella decompressa con:
Nella cartella dovrebbe essere presente uno script eseguibile di nome configure. Eseguirlo con:
Il comando dovrebbe accertarsi della presenza di tutte le librerie necessarie per l'esecuzione di PHP. Eventualmente è possibile abilitare a mano l'uso di alcune librerie. L'elenco delle opzioni è disponibile facendo:
Per esempio per abilitare l'uso della libreria gd e per l'installazione nella posizione standard /usr si effettuerà il comando:
Altre opzioni comuni sono per esempio: --with-mysql --enable-track-vars --with-pgsql
Al termine del comando, se questo non ha rilevato errori, effettuare i classici comandi:
Seguito da:
Quest'ultimo comando deve essere eseguito come amministratore della macchina. Per diventarlo è necessario usare il comando:
o (per i sistemi *ubuntu):
Seguiti rispettivamente dalla password dell'utente root o dalla password dell'utente corrente che deve far parte del gruppo degli amministratori.
* ↑ https://phptherightway.com/ Best practices.