Instalando PHP 5.4 com pacotes SCL do CentOS 6
No CentOS existe um repositório chamado SCL (Software Collections) que nos oferece alguns conjuntos de pacotes de softwares em versões mais recentes para instalação em nosso CentOS 6, o PHP 5.4 é um deles.
Veja as coleções disponíveis no SCL
- Ruby 1.9.3 (ruby193)
- Python 2.7 (python27)
- Python 3.3 (python33)
- PHP 5.4 (php54)
- Perl 5.16.3 (perl516)
- Node.js 0.10 (nodejs010)
- MariaDB 5.5 (mariadb55)
- MySQL 5.5 (mysql55)
- PostgreSQL 9.2 (postgresql92)
O SCL tem um funcionamento bastante particular, não basta apenas instalar o pacote é necessário saber utilizar o SCL para usar as versões mais novas de sofwares, acompanhe o passo a passo para entender o processo.
Para instalar esse repositório e habilitá-lo rode o comando abaixo
yum install centos-release-SCL
Depois de habilitar pesquise pelos pacotes que deseja instalar
yum search php54
Acompanhe a saída
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
============================================================ N/S Matched: php54 =============================================================
php54.x86_64 : Package that installs php54
php54-runtime.x86_64 : Package that handles php54 Software Collection.
php54-apc-panel.noarch : APC control panel
php54-build.x86_64 : Package shipping basic build configuration
php54-php.x86_64 : PHP scripting language for creating dynamic web sites
php54-php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php54-php-cli.x86_64 : Command-line interface for PHP
php54-php-common.x86_64 : Common files for PHP
php54-php-dba.x86_64 : A database abstraction layer module for PHP applications
php54-php-devel.x86_64 : Files needed for building PHP extensions
php54-php-enchant.x86_64 : Enchant spelling extension for PHP applications
php54-php-fpm.x86_64 : PHP FastCGI Process Manager
php54-php-gd.x86_64 : A module for PHP applications for using the gd graphics library
php54-php-imap.x86_64 : A module for PHP applications that use IMAP
php54-php-intl.x86_64 : Internationalization extension for PHP applications
php54-php-ldap.x86_64 : A module for PHP applications that use LDAP
php54-php-mbstring.x86_64 : A module for PHP applications which need multi-byte string handling
php54-php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php54-php-odbc.x86_64 : A module for PHP applications that use ODBC databases
php54-php-pdo.x86_64 : A database access abstraction module for PHP applications
php54-php-pear.noarch : PHP Extension and Application Repository framework
php54-php-pecl-apc.x86_64 : APC caches and optimizes PHP intermediate code
php54-php-pecl-apc-devel.x86_64 : APC developer files (header)
php54-php-pecl-memcache.x86_64 : Extension to work with the Memcached caching daemon
php54-php-pgsql.x86_64 : A PostgreSQL database module for PHP
php54-php-process.x86_64 : Modules for PHP script using system process interfaces
php54-php-pspell.x86_64 : A module for PHP applications for using pspell interfaces
php54-php-recode.x86_64 : A module for PHP applications for using the recode library
php54-php-snmp.x86_64 : A module for PHP applications that query SNMP-managed devices
php54-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php54-php-tidy.x86_64 : Standard PHP module provides tidy library support
php54-php-xml.x86_64 : A module for PHP applications which use XML
php54-php-xmlrpc.x86_64 : A module for PHP applications which use the XML-RPC protocol
Depois podemos instalar o php54 e suas dependências conforme necessidade de seu projeto
yum install php54.x86_64 php54-php-ldap.x86_64 php54-php-gd.x86_64 php54-php-pear.noarch
Veja que se rodarmos o comando abaixo veremos que o php ainda continua na versão 5.3.
php -v
Acompanhe a saída
PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
Para utilizarmos um software SCL precisamos chamá-lo da seguinte forma
scl enable php54 "php -v"
Acompanhe a saída
PHP 5.4.16 (cli) (built: Dec 11 2013 16:55:27)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Contudo, caso deseje que o PHP54 seja realmente o PHP default de sua sessão rode este comando
source /opt/rh/php54/enable
Agora verifique
php -v
Acompanhe a saída
PHP 5.4.16 (cli) (built: Dec 11 2013 16:55:27)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Isso só vai valer para sua sessão portanto você precisa configurar suas variáveis de ambiente para chamar esse comando durante o logon ou inicialização de algum serviço.
No caso do apache tem um jeito mais fácil, podemos instalar o pacote abaixo
yum install php54-php.x86_64
Após instalar o pacote, remova os arquivo php5.conf e php5.load do diretório /etc/httpd/conf.d mantendo apenas o arquivo php54-php.conf neste diretório, após o ajuste reinicie o apache.
service httpd restart
Com isso você estará rodando seu site com o php 5.4.16 em seu CentOS 6 com pacotes oficiais.
[s]
Guto