Como instalar o PHP no Ubuntu: um guia completo do iniciante ao avançado (Ubuntu 22.04 LTS)

.## 1. Introdução

目次

Por que usar PHP no Ubuntu

PHP é uma linguagem de script do lado do servidor amplamente utilizada em muitas aplicações web, incluindo WordPress. Ela tem sido usada extensivamente no desenvolvimento web por muitos anos, e um grande número de plataformas CMS e frameworks são construídos em PHP.

Ubuntu é uma distribuição Linux altamente estável usada por desenvolvedores em todo o mundo e é especialmente adequada para ambientes de servidor. A combinação de Ubuntu e PHP é amplamente adotada, desde configurações de desenvolvimento pessoal até sistemas de produção de nível empresarial.

Público‑alvo e objetivo deste artigo

Este artigo destina‑se a uma ampla gama de usuários, desde iniciantes que desejam instalar PHP no Ubuntu mas não sabem por onde começar, até usuários intermediários que precisam instalar versões específicas do PHP. Os procedimentos são explicados da forma mais clara possível.

As instruções são baseadas no Ubuntu 22.04 LTS, mas os mesmos passos básicos se aplicam a outras versões também.

O que você aprenderá

Ao ler este artigo, você será capaz de entender e praticar o seguinte:

  • Métodos básicos para instalar PHP no Ubuntu
  • Como instalar e alternar entre múltiplas versões do PHP
  • Como verificar o funcionamento do PHP e solucionar problemas
  • Configuração para integração com Apache e Nginx
  • Como instalar módulos PHP de uso comum

2. Pré‑requisitos e preparação

Como verificar a versão do Ubuntu

Primeiro, verifique qual versão do Ubuntu você está usando. Os métodos de instalação do PHP e os módulos suportados podem variar ligeiramente dependendo da versão do Ubuntu.

Você pode verificar a versão do Ubuntu executando o seguinte comando:

lsb_release -a

Alternativamente, você pode usar este comando:

cat /etc/os-release

Este artigo explica os procedimentos com base no Ubuntu 22.04 LTS, mas os mesmos passos geralmente se aplicam ao Ubuntu 20.04 e 23.10.

Mantenha os pacotes do sistema atualizados

Antes de instalar o PHP, é muito importante atualizar todos os pacotes do sistema. Isso ajuda a prevenir problemas de dependência e conflitos.

sudo apt update
sudo apt upgrade -y

Isso atualiza o índice de pacotes APT e garante que todos os pacotes possam ser instalados em suas versões estáveis mais recentes.

Instale as utilidades necessárias

Algumas versões do PHP exigem ferramentas adicionais para gerenciar repositórios. O pacote software-properties-common é necessário para adicionar repositórios como PPAs.

Se ele não estiver instalado, instale‑o usando o seguinte comando:

sudo apt install -y software-properties-common

Este pacote é necessário para comandos como add-apt-repository, que são comumente usados ao instalar versões específicas do PHP via um PPA.

Usando privilégios de root ou sudo

A maioria das operações apresentadas neste artigo requer alterações ao nível do sistema. Certifique‑se de usar sudo ao executar os comandos.

3. Como instalar PHP

Existem duas maneiras principais de instalar PHP no Ubuntu. Uma é instalar a partir dos repositórios padrão, e a outra é instalar uma versão específica usando um PPA (Personal Package Archive). Cada método é explicado em detalhe abaixo.

Instalar PHP a partir do repositório padrão

O Ubuntu fornece uma versão estável do PHP em seus repositórios padrão. Se você não precisar de uma versão específica, este é o método mais fácil.

sudo apt install -y php

Após a instalação, verifique se o PHP foi instalado corretamente:

php -v

Saída de exemplo:

PHP 8.1.2 (cli) (built: ...)

No Ubuntu 22.04, o PHP 8.1 é instalado por padrão.

Instalar uma versão específica do PHP usando um PPA

Se você quiser usar a versão mais recente do PHP ou gerenciar múltiplas versões, pode adicionar o PPA ondrej/php.

Etapa 1: Adicionar o repositório PPA

sudo add-apt-repository ppa:ondrej/php
sudo apt update

Este PPA é amplamente usado na comunidade Ubuntu e fornece builds estáveis para múltiplas versões do PHP.

Etapa 2: Instalar a versão desejada do PHP

Por exemplo, para instalar o PHP 8.2:

sudo apt install -y php8.2

Você também pode instalar outras versões, como PHP 7.4 ou 8.0.

Etapa 3: Verificar a Versão Instalada

php -v

4. Verificando o Funcionamento do PHP

Depois de instalar o PHP, verifique se ele funciona corretamente. Você pode fazer isso via linha de comando e através de um servidor web como Apache ou Nginx.

Verificar via Linha de Comando (CLI)

Primeiro, verifique a versão do PHP no terminal:

php -v

Exemplo de Saída:

PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies

Verificar via Servidor Web (Apache)

Se o Apache estiver instalado, crie uma página de teste usando a função phpinfo().

1. Criar um Arquivo de Teste

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

2. Acessar via Navegador

http://localhost/info.php

3. Confirmar a Saída

Se informações detalhadas do PHP forem exibidas, o PHP está funcionando corretamente com o Apache.

🔍 Nota: A saída do phpinfo() contém informações sensíveis. Delete o arquivo após a verificação.

sudo rm /var/www/html/info.php

Verificar com Nginx + PHP-FPM

Ao usar o Nginx, o PHP é processado através do php-fpm. Para verificar a integração correta, assegure‑se de que os arquivos .php estejam configurados adequadamente no arquivo de configuração do Nginx e, em seguida, crie um arquivo info.php da mesma forma que faria com o Apache.

Se a configuração estiver incorreta, você pode encontrar um erro 500 ou ver o arquivo sendo baixado em vez de executado. Nesse caso, revise as definições como fastcgi_pass e include fastcgi-php.conf; na configuração do Nginx.

5. Instalando Módulos PHP Mais Usados

Instalar apenas o PHP não fornece toda a funcionalidade. Muitas características são entregues como módulos (extensões) separados que devem ser instalados conforme a necessidade. Esta seção apresenta os módulos PHP mais usados no desenvolvimento e operação do mundo real.

O que são Módulos PHP?

Módulos PHP (também chamados de extensões) adicionam capacidades específicas, como conectividade a bancos de dados, manipulação de strings multibyte, processamento de imagens e análise de XML.

Os módulos são fornecidos como pacotes APT e podem ser instalados da seguinte forma:

sudo apt install php-module-name

Se quiser especificar uma versão, use um formato como php8.2-mbstring.

Principais Módulos PHP e seus Usos

php-mbstring (Suporte a Strings Multibyte)

Este módulo é essencial para manipular strings de caracteres multibyte, como texto em japonês. É quase obrigatório para sites japoneses e processamento de e‑mail.

sudo apt install php-mbstring

php-mysql (Conectividade MySQL / MariaDB)

Este módulo é necessário ao conectar a bancos de dados como MySQL ou MariaDB. É essencial para aplicações como WordPress.

sudo apt install php-mysql

php-gd (Processamento de Imagens)

Este módulo é usado para gerar, converter e redimensionar imagens, sendo comumente utilizado para miniaturas e manipulação de imagens.

sudo apt install php-gd

php-xml (Processamento de XML)

Este módulo é necessário para lidar com dados baseados em XML, como feeds RSS e serviços SOAP. É amplamente usado em plataformas CMS e integrações de APIs.

sudo apt install php-xml

php-curl (Comunicação HTTP)

Este módulo permite requisições HTTP a partir do servidor, como ao integrar com APIs externas. É exigido por muitas frameworks modernas.

sudo apt install php-curl

php-zip (Manipulação de Arquivos Compactados)

Este módulo permite criar e extrair arquivos ZIP e é frequentemente usado em recursos de upload de arquivos.

sudo apt install php-zip

Habilitando Módulos e Reiniciando Serviços

Alguns módulos requerem ativação explícita após a instalação. Use phpenmod para habilitá‑los.

sudo phpenmod module_name
sudo systemctl restart apache2

Os módulos habilitados entram em vigor após reiniciar o servidor web.

6. Gerenciando e Alternando Versões do PHP

.Ubuntu permite instalar e usar várias versões do PHP em um único servidor. Isso é especialmente útil em ambientes de desenvolvimento ou servidores que hospedam múltiplas aplicações web.

Esta seção explica como alternar versões do PHP para a CLI e para o Apache.

Alternando Versões do PHP na CLI

Comando Utilizado: update-alternatives

Você pode alternar facilmente a versão do PHP usada na linha de comando usando update-alternatives.

Etapa 1: Verificar Versões do PHP Instaladas

ls /usr/bin/php*

Etapa 2: Registrar Versões do PHP (Apenas na Primeira Vez)

sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82

Etapa 3: Selecionar a Versão do PHP

sudo update-alternatives --config php

Você verá um menu de seleção semelhante ao seguinte:

There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.2   82        auto mode
  1            /usr/bin/php7.4   74        manual mode
  2            /usr/bin/php8.2   82        manual mode

Press <enter> to keep the current choice[*], or type selection number:

Etapa 4: Verificar a Versão

php -v

Alternando Versões do PHP no Apache

Ao usar o Apache, as versões do PHP são gerenciadas via módulos do Apache. Você pode alternar versões habilitando e desabilitando módulos.

1. Verificar Módulos Disponíveis

ls /etc/apache2/mods-available | grep php

2. Desativar o Módulo Atualmente Ativo

sudo a2dismod php7.4

3. Ativar a Versão Desejada

sudo a2enmod php8.2

4. Reiniciar o Apache

sudo systemctl restart apache2

7. Integrando PHP com Apache e Nginx

O PHP se torna realmente poderoso quando integrado a um servidor web. No Ubuntu, os servidores web mais usados são Apache e Nginx.

Integração com Apache (mod_php)

O Apache pode processar scripts PHP diretamente usando o módulo mod_php. Este método é simples e adequado para plataformas CMS como o WordPress.

Etapa 1: Instalar Apache e mod_php

sudo apt install -y apache2 libapache2-mod-php

Etapa 2: Reiniciar o Apache

sudo systemctl restart apache2

Etapa 3: Testar Execução do PHP

<?php
phpinfo();
?>
http://localhost/test.php

Integração com Nginx (PHP-FPM)

O Nginx não processa PHP diretamente. Em vez disso, ele depende do PHP-FPM (FastCGI Process Manager).

Etapa 1: Instalar Nginx e PHP-FPM

sudo apt install -y nginx php-fpm

Etapa 2: Editar a Configuração do Nginx

sudo nano /etc/nginx/sites-available/default
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

Etapa 3: Reiniciar o Nginx

sudo systemctl restart nginx

8. Solução de Problemas

Código Fonte PHP É Exibido no Navegador

Causa

Isso ocorre quando o servidor web não processa arquivos PHP corretamente.

Solução

  • Apache:
    sudo apt install libapache2-mod-php
    sudo systemctl restart apache2
    
  • Nginx:
    sudo systemctl restart php8.2-fpm
    sudo systemctl restart nginx
    

Funções PHP Não Estão Definidas

Causa

Módulos PHP necessários não estão instalados ou habilitados.

Solução

sudo apt install php-mbstring php-xml php-curl
sudo systemctl restart apache2
php -m

Erros PHP Não São Exibidos

Solução

sudo nano /etc/php/8.2/apache2/php.ini
display_errors = On
error_reporting = E_ALL
sudo systemctl restart apache2

Localizações dos Arquivos de Log

Apache:

/var/log/apache2/error.log

Nginx:

/var/log/nginx/error.log

PHP-FPM:

/var/log/php8.2-fpm.log

9. Resumo

Este artigo fornece uma explicação passo a passo de como instalar PHP no Ubuntu, desde o básico até tópicos avançados.

Principais Pontos

  • Verifique a versão do seu Ubuntu e atualize os pacotes
  • Instale o PHP via repositórios padrão ou PPAs
  • Verifique o PHP via CLI e servidores web
  • Estenda a funcionalidade com módulos
  • Gerencie múltiplas versões do PHP de forma flexível
  • Integre corretamente com Apache ou Nginx
  • Verifique os logs ao solucionar problemas

Próximos Passos

  • Instale MySQL ou MariaDB
  • Configure o WordPress
  • Use frameworks PHP como Laravel
  • Habilite HTTPS com certificados SSL
  • Gerencie serviços com systemd

Ubuntu e PHP juntos fornecem um ambiente de desenvolvimento robusto e flexível. Use este guia como base e continue expandindo suas habilidades.

10. Perguntas Frequentes (FAQ)

Q1. Como instalar a versão mais recente do PHP no Ubuntu?

A. Use o PPA ondrej/php e especifique a versão desejada.

Q2. Como alternar versões do PHP na CLI?

sudo update-alternatives --config php

Q3. O código-fonte PHP é exibido no Apache.

sudo apt install libapache2-mod-php
sudo systemctl restart apache2

Q4. Onde está localizado o php.ini?

  • Apache: /etc/php/8.2/apache2/php.ini
  • CLI: /etc/php/8.2/cli/php.ini

Q5. Como habilitar módulos PHP?

sudo phpenmod mbstring
sudo systemctl restart apache2

Q6. PHP não funciona com Nginx.

Certifique-se de que o php-fpm está instalado e que o fastcgi_pass está configurado corretamente.

Q7. Erros do PHP não são visíveis.

display_errors = On
error_reporting = E_ALL