PHP/it

PHP è un linguaggio di scripting general-purpose lato server per produrre pagine web.

USE flags
Portage riconosce la USE flag globale  per abilitare il supporto per PHP negli altri pacchetti. Abilitare questa USE flag farà in modo di inserire automaticamente il pacchetto all'aggiornamento delle dipendenze profonde nell'impostazione di @world. Per prima cosa impostare la USE flag globale sul file :

Le USE flags più importanti del pacchetto PHP, cioè le USE flags SAPI (Server API), sono, , e. Unitamente a queste flags, c'è anche una elaborata lista di flags utili per abilitare varie caratteristiche dell'interprete PHP:

Di default l'ebuild installa la versione di sviluppo. Per installare la versione production, che ha impostazioni di sicurezza maggiori ma potrebbe essere più difficile eseguirgli il debug, aggiungere al file la seguente riga:

Entrambe le versioni di si trovano su.

Dopo aver selezionato la versione scelta di, PHP dovrebbe essere reinstallato utilizzando il comando riportato sotto nella Sezione di Emerge

Estensioni
Per installare le estensioni, per prima cosa decidere per quale versione di PHP bisogna compilare tali estensioni. Questo va fatto impostando la variabile PHP_TARGETS :

Possono essere impostate più di una versione; basta aggiungere un'altra versione separata da spazio. Notare che lo slot php è chiamato "5.6" e il corrispondente valore di PHP_TARGETS è. Questo è dovuto alla corrente restrizione sul nome USE.

Emerge
Dopo aver effettuato la configurazione sopra descritta della USE flag è necessario aggiornare il sistema così che le variazioni abbiano effetto:

Eseguire versioni multiple di PHP
Uno dei maggiori vantaggi per utilizzare Gentoo per lo sviluppo di PHP è l'utilizzo delle versioni slot. E' veramente facile muoversi tra le versioni multiple di PHP, è come eseguirle simultaneamente. Tutto ciò è fatto con il comando fornito dal pacchetto, il quale dovrebbe essere installato automaticamente insieme al pacchetto PHP. Per esempio, selezionando differenti versioni di PHP permette al sistema di eseguire PHP 7.0 per il cli SAPI ma PHP 5.6 per il server web di sistema. Esso permette anche di testare rapidamente un'applicazione su versioni differenti di PHP.

Per elencare le versioni disponibili per il cli SAPI, utilizzare il seguente comando:

La versione segnata con  è la versione attualmente attiva, e per verificare le altre sostituire   con ,  oppure.

Per scambiare versioni utilizzare il seguente comando:

Il numero  in questo esempio corrisponde al numero dell'output del sotto-comando   utilizzato sopra. La versione 7.0 di PHP viene così utilizzata con il seguente comando:

Configurazione
La configurazione di PHP si trova nel file, il quale contiene una sottodirectory per ogni SAPI e per ogni versione di PHP. Per esempio, i files di configurazione per il SAPI apache2 PHP-5.6 sono installati in.

Web servers
To use PHP in a server-side fashion, a web server needs to be installed and configured to use PHP. A number of popular web servers are briefly touched upon next.

Nginx
Simply emerge nginx to install it:

Once Nginx has been installed, modify the server section of to look something like this:

Now start the related services to have a working site. The init script starts the PHP FastCGI Process Manager. FastCGI allows web servers to offload the PHP calculations to this process manager.

lighttpd
Make sure that lighttpd is built with support for  and that the   USE flag is disabled:

Lighttpd ships with a default FastCGI config file, but unfortunately, it is written to work with the old PHP FCGI SAPI only, instead of a general FCGI setup. Since the  USE flag has been disabled, it will not be included, and rightly so. However it does provide a good foundation for a configuration file that can be used with FPM.

Edit to look something like this:

Note the  and   parts.

Since Gentoo ships with a working file, located in, and init script, starting the services is all that is needed:

Apache (mod_php)
To configure Apache to load the PHP5 module (mod_php), add  to APACHE2_OPTS variable in. Users might remember that previously, the PHP version had to be added as well (like ). However, since version 0.8.1, the variable is changed to just   to allow future major versions to be easily integrated.

Make sure that PHP is built with the  USE flag.

If for some reason the system is missing the PHP module integration file, currently provided by when installed with   USE flag set, manually insert it. Its current content is displayed below.

Although multiple PHP versions can be installed on a system, Apache can only use a single PHP version. The command is used to switch between active PHP versions.