Estou tentando migrar dois aplicativos da web em um único servidor (debian10), ambos exigem versões diferentes de php e exigem extensões cURL para funcionar corretamente.
php5.6-curl usa libcurl v3
php8.1-curl usa libcurl v4
Primeiramente instalei o php5.6-curl, e quando tentei instalar o php8.1-curl - o apt lança uma notificação de queThe following packages have unmet dependencies: php8.1-curl : Depends: libcurl4 (>= 7.56.1) but it is not going to be installed
Se eu usar -f no apt, ele remove o php5.6-curl...
Qual é a maneira mais elegante de disponibilizar essas duas bibliotecas libcurl em um único sistema?
Obrigado, Roberto
editar: Pelo que posso ver, o problema é que libcurl3 e libcurl4 compartilham o mesmo arquivo /usr/lib/x86_64-linux-gnu/libcurl.so.4 e ele muda quando o pacote é reinstalado (libcurl3<->libcurl4). O php[5.6,8.1]-fpm tenta carregar a biblioteca, aquela que obtém a versão inadequada do libcurl.so.4 falha e o php não consegue usar esse módulo.
Talvez exista um método elegante para forçar os binários 4eg php5-curl a usar a biblioteca do caminho definido pelo usuário?
Responder1
Coloque os dois aplicativos em um contêiner que contenha tudo o que precisa.
Responder2
Eu mesmo encontrei uma solução alternativa, se você quiser resolver um problema semelhante, pode seguir o meu caminho, não o mais elegante.
- instale todos os pacotes php5.6 necessários;
- copie o diretório /usr/lib para /usr/php56libs
- edite o arquivo de serviço systemd no meu caso:
systemctl edit --full php5.6-fpm
- sobserviçoseção adicionar variável de ambiente:
Environment="LD_LIBRARY_PATH=/usr/php56libs"
- agora você pode instalar todos os pacotes php8.1 com apt (com
-f
opção force) ele removerá todas as bibliotecas conflitantes de /usr/lib mas isso não importa porque o serviço php5.6-fpm usará aqueles de /usr/php56libs
Responder3
Faça login no seu servidor via SSH. Certifique-se de estar no diretório inicial do seu usuário. Localize a versão que deseja instalar. Descompacte o arquivo. Navegue para este novo diretório. Abra seu .bash_profile usando nano ou vim. Por exemplo: Adicione o arquivo necessário em .bash e atualize. Atualize seu .bash_profile para ativar sua nova configuração. Verifique a localização e a versão do curl