Documentation for using multi PHP versions

This commit is contained in:
Victor LABORIE 2019-03-04 15:57:48 +01:00
parent 249a3ac1e9
commit 305c9c0104
1 changed files with 93 additions and 0 deletions

View File

@ -31,6 +31,99 @@ TODO
TODO
### Conteneurs LXC (Multi PHP)
#### PHP 5.6
On installe un conteneur Debian Jessie :
~~~
/usr/bin/lxc-create --name php56 --template debian --bdev dir --logfile /var/log/lxc/lxc-php56.log --logpriority INFO -- --arch amd64 --release jessie
~~~
Puis on installe les paquets PHP 5.6 dans ce conteneur :
~~~
lxc-attach -n php56 apt install php5-fpm php5-cli php5-gd php5-imap php5-ldap php5-mcrypt php5-mysql php5-pgsql php-gettext php5-intl php5-curl php5-ssh2 libphp-phpmailer
~~~
On configure ensuite PHP via les fichiers **/etc/php5/fpm/conf.d/z-evolinux-defaults.ini** et **/etc/php5/cli/conf.d/z-evolinux-defaults.ini** (dans le conteneur) :
~~~
[PHP]
short_open_tag = Off
expose_php = Off
display_errors = Off
log_errors = On
html_errors = Off
allow_url_fopen = Off
disable_functions = exec,shell-exec,system,passthru,putenv,popen
~~~
Il ne reste plus qu'a redémarrer FPM :
~~~
lxc-attach -n php56 /etc/init.d/php5-fpm restart
~~~
#### PHP 7.0
On installe un conteneur Debian Stretch :
~~~
/usr/bin/lxc-create --name php70 --template debian --bdev dir --logfile /var/log/lxc/lxc-php70.log --logpriority INFO -- -t download --arch amd64 --release stretch
~~~
Puis on installe les paquets PHP 7.0 dans ce conteneur :
~~~
lxc-attach -n php70 apt install php-fpm php-cli php-gd php-intl php-imap php-ldap php-mcrypt php-mysql php-pgsql php-gettext php-curl php-ssh2 composer libphp-phpmailer
~~~
On configure ensuite PHP via les fichiers **/etc/php/7.0/fpm/conf.d/z-evolinux-defaults.ini** et **/etc/php/7.0/cli/conf.d/z-evolinux-defaults.ini** :
~~~
[PHP]
short_open_tag = Off
expose_php = Off
display_errors = Off
log_errors = On
html_errors = Off
allow_url_fopen = Off
disable_functions = exec,shell-exec,system,passthru,putenv,popen
~~~
Il ne reste plus qu'a redémarrer FPM :
~~~
lxc-attach -n php70 /etc/init.d/php7.0-fpm restart
~~~
#### Toutes versions
Pour envoyer des mails, on peut installer **ssmtp** qui va forwarder les mails du conteneur vers l'hôte (à faire par conteneur via lxc-attach) :
~~~
apt install ssmtp
~~~
Editer **/etc/ssmtp/ssmtp.conf** (remplacer example.com par le hostname complet de votre machine) :
~~~
root=postmaster
mailhub=127.0.0.1
hostname=example.com
FromLineOverride=YES
~~~
####
Une fois les conteneurs installés, il faut configurer evoadmin-web pour lui diniquer les versions disponibles de PHP dans **/etc/evolinux/web-add.conf** :
~~~
PHP_VERSIONS=(56 70)
~~~
## Méthodes de collaboration
Lire le fichier GUIDELINES.