Pressione enter para ver os resultados ou esc para cancelar.

Como instalar e executar várias versões do PHP no Ubuntu

Nesse post iremos instalar duas versões do PHP, 7.4 e o 7.2 e configurar no bloco do Servidor Web NGINX.

Como instalar e executar várias versões do PHP no Ubuntu utilizando Servidor Web NGINX?

 
sudo apt install software-properties-common
 
sudo add-apt-repository ppa:ondrej/php

Para instalar o php 7.4 iremos executar os comandos abaixo:

sudo apt install php7.4-fpm
sudo apt install libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-gd php7.4-imagick php7.4-tidy php7.4-xmlrpc php7.4-common php7.4-xml php7.4-curl php7.4-dev php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap php7.4-zip php7.4-intl -y 

Para instalar o php 7.2 iremos executar os comandos abaixo:

sudo apt install php7.2-fpm
sudo apt install libapache2-mod-php7.2 php7.2-cli php7.2-mysql php7.2-gd php7.2-imagick php7.2-tidy php7.2-xmlrpc php7.2-common php7.2-xml php7.2-curl php7.2-dev php7.2-imap php7.2-mbstring php7.2-opcache php7.2-soap php7.2-zip php7.2-intl -y 

Trocando a versão do PHP no bloco do servidor Ngnix

É muito fácil configurar o bloco do servidor Ngnix para a versão do php que instalamos. Como você sabe, o Ngnix executa o código PHP via PHP-FPM, que escuta um soquete Unix. O arquivo de soquete está localizado em /run/php/

Resultado /run/php/

Como podem ver no exemplo acima, há vários arquivos de soquete PHP-FPM em meu servidor correspondente as duas versões do PHP.
No arquivo do bloco do servidor Nginx normalmente tem o seguinte snippet para se conectar ao servidor PHP-FPM.
Para acessar o bloco vá em /etc/nginx/sites-available/ e edite o bloco do seu site:

server {
    listen 80;
    root /usr/share/nginx/sites/douglasvillar.com;
    index index.php index.html index.htm;
    server_name douglasvillar.com www.douglasvillar.com;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

A versão do PHP usada pelo Nginx é determinada pela linha 11 do snippet dentro de location. Para utilizar a versão PHP 7.2 no seu bloco altere a linha da seguinte forma:

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php7.2-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

Depois de fazer a alteração no bloco do seu site, salve e feche o arquivo e vamos precisar recarregar nosso servidor nginx:

sudo systemctl reload nginx

É isso aí! Espero que este tutorial tenha ajudado você a executar várias versões do PHP no Ubuntu com Nginx. Como sempre, se você achou esta postagem útil, inscreva-se em nossa newsletter gratuita ou siga-nos no Instagram @douglasvillar, conecte comigo no Linkedin e curta nossa página no Facebook.