A mensagem em questão não está relacionada a dpkg
e, portanto, não é possível controlá-la com dpkg
opções. Existem duas opções viáveis que encontrei:
- Primeiro, reinstale completamente o PHP: primeiro remova o PHP 5.3 e depois instale o 5.5 em "blank system". No meu caso, esta não é uma boa solução, já que remover o PHP 5.3 levará muito tempo (mais de 500.000 arquivos e cheques correspondentes)
-
Em segundo lugar, use
phpenv
ephp-build
para gerenciar diferentes ambientes PHP sem tocar no atual. Por padrão, ele é fornecido com a extensãopyrus
, que é parapyrus
gerenciador de pacotes, que permite para usá-lo. Para o php-memcached eu usei simplesmente como:pyrus install pecl/memcached-2.1.0 pyrus build pecl/memcached-2.1.0 phpenv rehash
Note que
pyrus install pecl/memcached
pode falhar em algumas versões do PHP, portanto, é mais seguro que a compilação especifique determinada versão do PHP. Este método compyrus
permitirá instalar qualquer pacote disponível parapyrus
. Se você ainda precisa de algo personalizado (eu precisava de phalcon), você pode construí-lo com uma compilação personalizada, como:#!/bin/bash PHPVERSION=$1 # get the extension via wget, for example # cd to extension directory # Perform the compilation ~/.phpenv/versions/$PHPVERSION/bin/phpize ./configure --with-php-config=/home/ubuntu/.phpenv/versions/$PHPVERSION /bin/php-config --enable-extension make && make install echo "extension=extension.so" > ~/.phpenv/versions/$PHPVERSION/etc/conf.d/extension.ini
onde
--enable-extension
,"extension.so"
etc. você precisa substituir sua extensão compilada.
Como você pode ver, essa não é uma forma direta de resolver um problema, mas ainda corresponde a uma meta de configuração de CI totalmente automática, permitindo a criação de qualquer ativação de configuração / extensão de versões do PHP para essas construções.
P.S. Se alguém encontrar uma maneira de superar a mensagem na pergunta, essa será a "terceira opção", mas não acredito que seja possível com dpkg
tools.