Instalação do PHP 7.1.26 no Linux
Este guia apresenta o procedimento completo para compilar e instalar o PHP 7.1.26 em distribuições Linux baseadas em Red Hat/CentOS.
- Obtenção do Pacote de Instalação
Faça o download do arquivo php-7.1.26.tar.gz no endereço oficial: http://cn2.php.net/downloads.php
- Preparação do Diretório de Trabalho
Mova o arquivo baixado para o diretório /root:
# mv php-7.1.26.tar.gz /root/
Acesse o diretório de código-fonte:
# cd /usr/local/src
- Extração do Arquivo
Descompacte o arquivo baixado:
# tar -zxvf /root/php-7.1.26.tar.gz
Entre no diretório criado:
# cd php-7.1.26/
- Criação do Diretório de Instalação
# mkdir /usr/local/php
Consulte a documentação:
# vim README
- Instalação de Dependências
Antes de compilar, instale todas as bibliotecas necessárias para evitar erros:
# yum -y install openssl openssl-devel
# yum -y install curl curl-devel
# yum -y install libjpeg libjpeg-devel
# yum -y install libpng libpng-devel
# yum -y install freetype freetype-devel
# yum -y install pcre pcre-devel
# yum -y install libxslt libxslt-devel
# yum -y install bzip2 bzip2-devel
- Configuração da Compilação
Execute o configure com os módulos desejados:
# ./configure --prefix=/usr/local/php \
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-jpeg-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--with-bz2 \
--with-mhash \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-xml \
--enable-zip
- Compilação do Código-Fonte
# make
- Verificação da Build
# make test
Nota: Alguns warnings podem aparecer durante o teste. Você pode prosseguir mesmo se houver alertas.
- Instalação Binária
# make install
- Configuração do PHP
Copie os arquivos de configuração para seus locais apropriados:
# cp php.ini-production /usr/local/php/lib/php.ini
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm
- Configuração de Variáveis de Ambiente
Crie um script para adicionar o PHP ao PATH do sistema:
# vim /etc/profile.d/php.sh
Adicione as seguintes linhas ao final do arquivo:
export PATH=$PATH:/usr/local/php/bin/:/usr/local/php/sbin/
Salve e saia do editor. Ative as novas variáveis imediatamente:
# source /etc/profile.d/php.sh
- Inicialização do PHP-FPM
# /etc/init.d/php-fpm start
Se a mensagem "Starting php-fpm done" for exibida, o serviço foi iniciado com sucesso.
- Configuração de Inicialização Automática
# chkconfig --add php-fpm
# chkconfig php-fpm on
# chkconfig --list | grep php-fpm
- Verificação da Configuração
# php-fpm -t
O retorno deve ser:
NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful
- Gerenciamento via Systemd
# systemctl start php-fpm.service
# systemctl status php-fpm.service
- Resolução de Problemas Comuns
Erro: ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
Verifique se a porta está em uso:
# netstat -lntup | grep 9000
Para resolver, encerre o processo e reinicie o serviço:
# killall php-fpm
# systemctl start php-fpm.service
# systemctl status php-fpm.service
A instalação foi concluída com sucesso e o PHP-FPM está pronto para uso.