Instalando PHP 8.3, Composer e configurando o ambiente

1. Preparando o terreno: requisitos e escolhas de ambiente

Antes de iniciar a instalação do PHP 8.3, é essencial compreender as particularidades de cada sistema operacional e as ferramentas necessárias para um ambiente de desenvolvimento funcional.

1.1. Sistemas operacionais suportados e diferenças básicas

O PHP 8.3 é compatível com Windows, Linux e macOS, mas cada plataforma possui métodos distintos de instalação. No Windows, utiliza-se pacotes binários pré-compilados; no Linux, gerenciadores de pacotes como APT ou YUM; no macOS, o Homebrew simplifica o processo.

1.2. Verificando dependências do sistema

Para um ambiente completo, você precisará de:
- Servidor web (Apache ou Nginx)
- Banco de dados (MySQL, PostgreSQL ou SQLite)
- Extensões PHP comuns: mbstring, pdo, curl, gd, xml, zip

1.3. Decidindo entre instalação nativa, pacotes do sistema ou Docker

  • Instalação nativa: Oferece maior controle sobre configurações
  • Pacotes do sistema: Mais fácil de manter, mas versões podem estar desatualizadas
  • Docker: Ideal para isolamento de projetos e replicação de ambientes

2. Instalando o PHP 8.3 no Windows

2.1. Baixando o pacote Thread Safe ou Non-Thread Safe

Acesse windows.php.net/download e baixe o pacote Thread Safe (TS) se usará Apache com módulo mod_php, ou Non-Thread Safe (NTS) se usará IIS ou CGI/FastCGI.

2.2. Configurando variáveis de ambiente e php.ini

Extraia o conteúdo para C:\php8.3. Renomeie php.ini-development para php.ini. Adicione ao PATH do sistema:

C:\php8.3

2.3. Verificando a instalação e habilitando extensões

Abra o PowerShell e execute:

php -v

Para habilitar extensões comuns, edite o php.ini e remova o ponto e vírgula das linhas:

extension=mbstring
extension=pdo_mysql
extension=curl
extension=openssl

3. Instalando o PHP 8.3 no Linux (Ubuntu/Debian e CentOS)

3.1. Adicionando repositórios específicos

Ubuntu/Debian:

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

CentOS/RHEL:

sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf module reset php
sudo dnf module enable php:remi-8.3

3.2. Instalando o pacote principal e extensões

sudo apt install php8.3 php8.3-cli php8.3-common php8.3-mbstring php8.3-xml php8.3-curl php8.3-mysql php8.3-zip

3.3. Configurando php.ini para desenvolvimento

Edite /etc/php/8.3/cli/php.ini:

display_errors = On
display_startup_errors = On
error_reporting = E_ALL
memory_limit = 256M
date.timezone = America/Sao_Paulo

4. Instalando o PHP 8.3 no macOS

4.1. Usando Homebrew

brew tap shivammathur/php
brew install shivammathur/php/php@8.3

Para alternar entre versões:

brew link --overwrite --force php@8.3

4.2. Configurando PATH e php.ini

O Homebrew cria automaticamente os links simbólicos. O arquivo php.ini localiza-se em /usr/local/etc/php/8.3/php.ini.

4.3. Integração com Apache ou Nginx

Para Apache com Homebrew:

brew install httpd

Configure o módulo PHP no /usr/local/etc/httpd/httpd.conf:

LoadModule php_module /usr/local/opt/php@8.3/lib/httpd/modules/libphp.so
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

5. Instalando e configurando o Composer

5.1. Instalação global via script oficial

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"

5.2. Verificando a instalação

composer --version

Se houver problemas de permissão no Linux/macOS:

sudo chmod +x /usr/local/bin/composer

5.3. Inicializando um projeto

mkdir meu-projeto && cd meu-projeto
composer init

Isso criará o arquivo composer.json:

{
    "name": "meu/projeto",
    "require": {},
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    }
}

6. Configurando o ambiente de desenvolvimento integrado

6.1. Escolhendo IDE ou editor

VS Code: Leve e altamente customizável
PHPStorm: Completo, com suporte nativo a PHP 8.3

6.2. Extensões essenciais no VS Code

  • PHP Intelephense: Autocomplete e análise de código
  • PHP Debug: Integração com Xdebug
  • GitLens: Histórico e navegação Git

6.3. Configurando Xdebug para depuração

No php.ini, adicione:

zend_extension=xdebug
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003

No VS Code, crie .vscode/launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003
        }
    ]
}

7. Testando o ambiente: primeiro projeto prático

7.1. Script de validação com phpinfo()

Crie info.php:

<?php
phpinfo();

Execute com o servidor embutido:

php -S localhost:8000

Acesse http://localhost:8000/info.php para verificar extensões e versão.

7.2. Instalando biblioteca com Composer e testando autoload

composer require vlucas/phpdotenv

Crie .env:

APP_NAME=MeuApp

Crie index.php:

<?php
require 'vendor/autoload.php';

$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();

echo 'Nome da aplicação: ' . $_ENV['APP_NAME'];

7.3. Executando servidor embutido para testes rápidos

php -S localhost:8000

Acesse http://localhost:8000 para ver o resultado.


Referências