Faça o Ubuntu reconhecer que uma versão customizada do PHP está instalada

1

Estou tentando instalar o PHP a partir do código fonte no meu Ubuntu 12.04 VPS. Estou usando esses parâmetros no comando configure:

--enable-intl
--with-openssl
--without-pear
--with-gd
--with-jpeg-dir=/usr
--with-png-dir=/usr
--with-freetype-dir=/usr
--with-freetype
--enable-exif
--enable-zip
--with-zlib
--with-zlib-dir=/usr
--with-mcrypt=/usr
--with-pdo-sqlite
--enable-soap
--enable-xmlreader
--with-xsl
--enable-ftp
--with-curl=/usr
--with-tidy
--with-xmlrpc
--enable-sysvsem
--enable-sysvshm
--enable-shmop
--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--enable-pcntl
--with-readline
--enable-mbstring
--with-curl
--with-pgsql
--with-pdo-pgsql
--with-gettext
--enable-sockets
--with-bz2
--enable-bcmath
--enable-calendar
--with-libdir=lib
--enable-maintainer-zts
--with-gmp
--enable-fpm

Agora, tudo vai bem. A versão funciona como esperado e durante a instalação não tive problemas. Agora a coisa divertida vem. Sempre que eu quiser instalar algo como mcrypt (por exemplo) normalmente eu digitaria apt-get install php5-mcrypt , mas quando faço isso, e dou uma olhada nas dependências, vejo que PHP5 ainda está listado como um e será instalado assim que eu atingir y (sobrescrevendo minha própria versão).

Agora, o verdadeiro núcleo da minha pergunta é, como eu deixo o Ubuntu saber que eu já tenho o PHP5 instalado para que ele não tente mais instalar o PHP5 como uma dependência. Eu tenho que mudar alguma coisa no processo de configuração? Eu tenho que instalar o PHP5 usando a apt-get maneira primeiro, removê-lo manualmente e instalar minha própria versão do PHP depois.

Vale ressaltar que eu preciso dessa compilação personalizada do PHP para fazer o Pthreads funcionar, já que não há um repositório que ofereça uma versão ZTS do PHP (ainda, por favor, faça um, alguém?).

    
por Martijn 07.04.2014 / 21:50

2 respostas

2

Este é um problema quando você compila a partir do código-fonte ou instala um pacote fora do apt (apt-get).

Provavelmente a solução mais fácil é usar o checkinstall

sudo apt-get install checkinstall

Em seguida, faça e instale o php

make
sudo checkinstall

O checkinstall cria um .deb a partir do seu código-fonte, e então instala um .deb, então o apt irá reconhecer que o php está instalado.

Veja link

    
por Panther 07.04.2014 / 22:00
0

Não diga nada ao Ubuntu. Em vez disso, instale em um diretório diferente daquele onde o gerenciamento de pacotes do Ubuntu opera. Isto é o que /usr/local e /opt são para. Use-os!

    
por Reinier Post 15.07.2016 / 19:25