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/
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.