Como instalar uma versão mais nova do PHP como um pacote?

1

Eu tenho tentado instalar versões específicas / diferentes do PHP a partir do código-fonte, mas isso causa problemas quando outros pacotes dependem de um "pacote php" a ser instalado. A última vez que tentei instalar o PHP como um pacote, faltavam algumas versões.

Como posso instalar um PHP mais novo / mais recente de uma maneira que satisfaça outros pacotes que dependem do PHP?

    
por Andrew 14.03.2012 / 00:52

2 respostas

4

Se você quiser o mais recente software de ponta em distribuição Linux. Então você precisa construir o software a partir do código-fonte (idealmente criando seu próprio pacote), e você deve reconstruir qualquer pacote que dependa desse pacote.

Embora essa seja a regra geral, a situação real é muito mais complicada.

Já que você está falando sobre PHP, você pode dividir isso em alguns cenários diferentes, dependendo exatamente do pacote relacionado ao PHP.

  • Extensões do PHP (qualquer módulo do PHP que seja carregado diretamente no PHP para melhorar seu comportamento). Estes devem ser reconstruídos, se você reconstruir o PHP. Uma pequena lista incluiria php5-dev, php5-gd, php5-mysql, php5-ldap, php5-odbc php5-pgsql, php5-sqlite , mas quase todo pacote apt-cache search 'php5-' nesta lista precisaria ser reconstruído se você compilar manualmente o PHP.
  • Pacotes que fornecem software que usa. A maioria desses pacotes não precisaria ser reconstruída e você poderia facilmente fazer com que eles trabalhassem usando equivs , que é uma ferramenta que basicamente permite que você crie um meta-pacote para que outros pacotes pensem que você tem um pacote instalado, quando você instalou a partir da fonte. Basicamente, isso seria qualquer pacote PEAR e qualquer aplicativo da web (moodle, wordpress, drupal, cacti, etc).

Se você não tiver certeza sobre qual categoria um pacote pertence, consulte os detalhes do pacote de origem. Se depender do php5-dev, ele terá que ser recompilado.

Outra maneira um tanto imprecisa de resumir isso seria assim. Se o aplicativo dependente usar a Interface Binária do Aplicativo , precisará ser recompilado quando você reconstruir o pacote pai. Se um pacote usa uma Interface de programação de aplicativo , talvez não precise ser recriado, e você pode fazê-lo funcionar com equivs ou FPM .

    
por 14.03.2012 / 00:56
0

Você pode estar pensando em usar o repositório Dotdeb em vez de recriar os pacotes sozinho. O Dotdeb constrói versões recentes do PHP com suas bibliotecas, Nginx, Redis, MySQL e alguns outros pacotes comuns para combinar com o ramo estável da distribuição Debian (que agora é squeeze).

Por exemplo, a versão atual do PHP disponível nesse repositório é a 5.4.0.

No entanto, você deve notar que, se algo estiver errado neste pacote, você deve reportar bugs / info para o dotdeb, porque estes pacotes não fazem parte da distribuição Debian.

    
por 15.03.2012 / 21:39