Debian: php e php5

1

Estou executando um pequeno servidor Debian Debian Jessie, agindo como uma plataforma privada de nuvem / hospedagem.

Freqüentemente, eu enfrentei 'dificuldades' instalando serviços com requisitos recentes do PHP porque, enquanto a maioria das documentações diz para você chamar php de uma certa maneira (para instalar composer por exemplo), eu realmente tenho que chamar php5 . E se fosse apenas isso, eu poderia facilmente lidar com isso, mas nem sempre controlo inteiramente o binário que é usado sem ter que refazer muitos scripts e assim por diante.

$ php5 -v
PHP 5.6.20-0+deb8u1 (cli) (built: Apr 27 2016 11:26:05) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

$ php -v 
PHP 5.5.15 (cli) (built: Oct  4 2014 14:03:37) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

Ambos os binários apontam para diferentes versões do PHP, e eu não entendo o porquê. Quando eu listo meus pacotes instalados, há apenas um php.

php-auth/stable,now 1.6.4-1 all [installed]
php-auth-sasl/stable,now 1.0.6-1+deb8u1 all [installed,automatic]
php-db/stable,now 1.7.14-3 all [installed,automatic]
php-gettext/stable,now 1.0.11-1 all [installed,automatic]
php-http-request/stable,now 1.4.4-4 all [installed,automatic]
php-log/stable,now 1.12.8-2 all [installed,automatic]
php-mail/stable,now 1.2.0-7 all [installed,automatic]
php-mail-mime/stable,now 1.8.9-1+deb8u1 all [installed,automatic]
php-mdb2/stable,now 2.5.0b5-1 all [installed,automatic]
php-net-dime/stable,now 1.0.2-2 all [installed,automatic]
php-net-smtp/stable,now 1.6.2-2 all [installed,automatic]
php-net-socket/stable,now 1.0.14-1 all [installed,automatic]
php-net-url/stable,now 1.0.15-3 all [installed,automatic]
php-pear/stable,now 5.6.20+dfsg-0+deb8u1 all [installed]
php-soap/stable,now 0.13.0-1 all [installed,automatic]
php-tcpdf/stable,now 6.0.093+dfsg-1 all [installed,automatic]
php-xml-parser/stable,now 1.3.4-7 all [installed,automatic]
php5/stable,now 5.6.20+dfsg-0+deb8u1 all [installed]             <--- HERE
php5-apcu/stable,now 4.0.7-1 amd64 [installed]
php5-cgi/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-cli/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-common/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-curl/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-gd/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-imagick/stable,now 3.2.0~rc1-1 amd64 [installed]
php5-imap/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-intl/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-json/stable,now 1.3.6-1 amd64 [installed,automatic]
php5-ldap/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed,automatic]
php5-mcrypt/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-memcache/stable,now 3.0.8-5 amd64 [installed]
php5-memcached/stable,now 2.2.0-2 amd64 [installed]
php5-mysql/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-pgsql/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed,automatic]
php5-pspell/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-readline/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed,automatic]
php5-recode/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-sqlite/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-tidy/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-xmlrpc/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]
php5-xsl/stable,now 5.6.20+dfsg-0+deb8u1 amd64 [installed]

Espero que alguém possa explicar por que duas versões do PHP coexistem no meu servidor e, se houver, posso garantir que php aponte para o pacote php5 que eu instalei como padrão.

Obrigado.

    
por kRYOoX 17.05.2016 / 01:57

1 resposta

1

É ruim, algo não está bem no seu sistema.

No modo debian, /usr/bin/php deve ser um link simbólico para /etc/alternatives/php , que deve ser um symlink para /usr/bin/php5 . Assim, se você obtiver informações de versão diferentes para o comando php e php5 , será ruim.

Esta coisa alternativa permite que você tenha versões PHP simultaneamente diferentes no mesmo sistema. Por exemplo, você poderia ter php4 e php5. Mas, versões diferentes do php5, você não pode ter, esses pacotes são substituições entre si.

Eu acho que, às vezes, uma instalação php baseada em fonte ou não-debianic aconteceu em seu sistema, o que desperdiçou seu /usr/bin/php . No debian jessie, deve ser um link simbólico como escrevi acima .

Seus problemas resultam disso. Sugiro remover a versão do php não-debian e fazer um dist-upgrade. Talvez alguma limpeza do sistema também seja útil, e a instalação do php não-debianic provavelmente instalou outros arquivos também.

    
por 17.05.2016 / 02:22