Os antigos pacotes php5-*
são co-instaláveis com o novo esquema phpX.Y-*
, então a primeira coisa que você precisa fazer é instalar e ativar novos pacotes:
Apache 2.4
Você precisa instalar novos pacotes libapache2-mod-phpX.Y
, desativar o php5 antigo e ativar o novo módulo com versão, por exemplo. para PHP 5.6:
sudo apt-get install libapache2-mod-php5.6
sudo a2dismod php5
sudo a2enmod php5.6
NGINX / Apache 2.4 com PHP-FPM
Isso é ainda mais simples, basta instalar phpX.Y-fpm
e alterar o caminho do soquete na configuração do servidor da Web para /run/php/phpX.Y-fpm.sock
e copiar a configuração antiga, por exemplo, para PHP 5.6:
sudo apt-get install php5.6-fpm
# now change the socket path in your nginx/apache2 configuration
# and restart the server
Se você definiu mais pools do FPM, você precisa copiar a configuração antiga para o novo caminho, novamente para o PHP 5.6:
# keep the new www.conf
sudo mv /etc/php/5.6/fpm/pool.d/www.conf /etc/php/5.6/fpm/pool.d/www-5.6.conf
# copy the old configuration to the new path
sudo cp /etc/php5/fpm/pool.d/* /etc/php/5.6/fpm/pool.d/
sudo update-rc.d php5-fpm disable # or uninstall php5-fpm package
# restart PHP 5.6 FPM to read the new configuration
sudo service php5.6-fpm restart
Agora, se você quiser remover os pacotes antigos, poderá encontrar alguns problemas, pois pode haver pacotes que exijam nomes antigos do php5 *, talvez você queira adicionar ppa:ondrej/php5-compat
que fornecem uma camada fina de pacotes de compatibilidade que mapeiam php5-<foo>
to php5.6-<foo>
para pacotes principais do php5 *:
sudo add-apt-repository ppa:ondrej/php5-compat
sudo apt-get update
sudo apt-get dist-upgrade
Definitivamente tente isso primeiro no ambiente não-produção ! O lado bom é que isso mantém a configuração antiga em /etc/php5
intocada, para que você possa migrar as configurações antigas.
Após atualizar os pacotes principais do PHP, talvez você queira procurar o restante dos pacotes php5-*
e instalar seus equivalentes, por exemplo
apt-get install php-apcu # for php5-apcu
apt-get install php-memcached # for php5-memcached
Vou preparar uma atualização para o repositório php5-compat, que fará esses mapeamentos automaticamente.
O texto mais atualizado, pode ser sempre encontrado em DEB.SURY.ORG PPA Wikis .