B E L M I T E C

Loading

Desenvolvimento Web com NGINX - MySql - PHP (NMP) e phpMyAdmin no macOS - Parte 2

Hello!, Saraiva aqui!

Neste guia, tento ajudar você a preparar um ambiente de Desenvolvimento no Mac OS usando a pilha de softwares NGINX (lê-se ENGINE-X), MySql e PHP. Resumida como NMP.

Esta é a segunda parte, vamos adiante!

Até aqui instalamos e configuramos o Nginx. O que vamos fazer agora é configurar o Nginx com o PHP.

Como configurar PHP com o servidor web Nginx no Mac OS Monterey

Antes de prosseguir com a instalação do PHP-FPM e configurações, você deve ter o Nginx instalado e configurado. Se você não o tiver pronto, siga meu post anterior sobre como instalar e configurar o Nginx no Mac OS Monterey. Aqui está o link: DESENVOLVIMENTO WEB COM NGINX - MYSQL - PHP (NMP) E PHPMYADMIN NO MACOS - PARTE 1 Na parte 1, instalamos e configuramos o Nginx. 

Agora vamos configurar o PHP. Usarei neste exemplo a versão 8.1, mas você pode ficar a vontade para usar outra versão mais recente ou mesmo anterior.

Outra informação que considero importante é que; por padrão ao instalar o PHP o homebrew automaticamente irá instalar o Apache, mas não queremos isso neste caso, pois nosso objetivo é trabalhar com o Nginx. Se permitirmos a instalação do Apache, teremos problemas em na execução do nosso servidor com o ENGINE-X.

Portanto, note que após o comando para instalar o PHP, temos este trecho de código:

--without-apache --with-fpm  

Basicamente estamos dizendo ao homebrew para não instalar o Apache, e sim, o fpm, que neste caso, é a configuração necessária para que a comunicação entre Nginx e o PHP aconteça automaticamente.

Dito isto, instale o php8.1 usando Homebrew

brew tap homebrew/dupes
brew tap homebrew/php
brew search php
brew install php81 --without-apache --with-fpm

OBS: Caso você queira instalar a versão mais recente do PHP, basta o usar o comando abaixo:

brew install php --without-apache --with-fpm

Configure o php para início automático junto com o Mac, lembrando de alterar a versão do PHP para a que você escolheu.

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php81/homebrew.mxcl.php81.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php81.plist

Edite /usr/local/etc/php/8.1/php.ini e substitua o código abaixo:

Abra o arquivo usando o editor nano:

sudo nano /usr/local/etc/php/8.1/php.ini

Encontre este código:

;cgi.fix_pathinfo=1

Substitua por este código:

cgi.fix_pathinfo=0

Edite o arquivo /usr/local/etc/php/8.1/php-fpm.d/www.conf e coloque lá seu nome de usuário e grupo. Você precisa encontrar as próximas linhas e editá-las conforme os exemplos. Substitua SEU_NOME_DE_USUARIO pelo seu nome de usuário original e SEU_GRUPO pelo nome do seu grupo original no Mac.

Abra o arquivo conforme este exemplo:

sudo nano /usr/local/etc/php/8.1/php-fpm.d/www.conf

Encontre estas linhas para alterar:

user = SEU_NOME_DE_USUARIO
group = SEU_GRUPO

Em seguida, precisamos editar o virtualhost padrão criado na parte 1 e adicionar algumas linhas de código conforme o exemplo, ficando assim:

Abra o seguinte arquivo criado no guia anterior /usr/local/etc/nginx/sites-available/default :

sudo nano /usr/local/etc/nginx/sites-available/default 

Faça as alterações conforme abaixo:

server {
    listen   80; 
    listen   [::]:80 default_server ipv6only=on;

    server_name  localhost;
    
    root       /var/www/localhost;

    index index.php index.html index.htm;
 
    access_log  /usr/local/etc/nginx/logs/default.access.log;
    error_log  /usr/local/etc/nginx/logs/default.error.log;
 
    location ~ \.php$ {
        try_files      $uri = 404;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    error_page  404     /404.html;
    error_page  403     /403.html;
}

Instale o mcrypt, lembre-se de alterar o código para sua versão do PHP escolhida:

sudo brew install php81-mcrypt

Vamos testar o php. Crie o arquivo /var/www/localhost/info.php com este pequeno código dentro. Salve seguindo as orientações do terminal:

sudo nano /var/www/localhost/info.php

<?php
    phpinfo();
?>

Salve todos os arquivos e reinicie o PHP:

sudo brew services stop php81
sudo brew services start php81

Reinicie o Nginx:

sudo nginx -s stop
sudo nginx

Verifique se o Nginx funciona normalmente servindo o dominio local padrão:

curl -IL http://localhost/info.php

Estando tudo certo, a saída deve ser assim:

...

Além disso, considerando que você está seguindo os exemplos deste artigo, você pode seguir o link http://localhost/info.php no seu navegador e você deve ver a tabela phpinfo como esta:

Isso é tudo por enquanto. Agora o Nginx pode trabalhar com o PHP8.1

Mais adiante, trarei outro artigo ajudando você a trabalhar com várias versões do PHP usando esta pilha de Softwares que estamos configurando.

Agora vamos ao passo 3. Instalaremos o MySql e posteriormente o phpMyAdmin.


Você achou esse artigo útil?


Artigos relacionados