Debian: php y php5

Debian: php y php5

Estoy ejecutando un pequeño servidor privado Debian Jessie, que actúa como una plataforma de alojamiento/nube privada.

Muchas veces, me he enfrentado a "dificultades" al instalar servicios con requisitos PHP recientes porque, si bien la mayoría de la documentación indica que llame phpde cierta manera (para instalar Composer, por ejemplo), en realidad tengo que llamar php5. Y si fuera solo eso, podría manejarlo fácilmente, pero no siempre controlo por completo qué binario se usa sin tener que reelaborar muchos scripts, etc.

$ 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 binarios apuntan a versiones diferentes de PHP y no entiendo por qué. Cuando enumero mis paquetes instalados, solo hay un 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 alguien pueda explicar por qué coexisten 2 versiones de PHP en mi servidor y, si hay alguna forma, puedo asegurarme de que phpapunte al paquete php5 que instalé como predeterminado.

Gracias.

Respuesta1

Es malo, algo no está bien en tu sistema.

En el modo Debian, /usr/bin/phpdebería haber un enlace simbólico a /etc/alternatives/php, el cual debería ser un enlace simbólico a /usr/bin/php5. Por lo tanto, si obtiene información de versión diferente para el comando phpy php5, es malo.

Esta alternativa le permite tener simultáneamente diferentes versiones de PHP en el mismo sistema. Por ejemplo, podrías tener php4 y php5. Pero no puede tener diferentes versiones de php5, estos paquetes se reemplazan entre sí.

Creo que a veces se produjo una instalación de php basada en código fuente o no debianic en su sistema, lo que desperdició su archivo /usr/bin/php. En debian jessie,debe ser un enlace simbólico como escribí arriba.

Tus problemas resultan de esto. Sugiero eliminar la versión php que no es de Debian y realizar una actualización dist. Tal vez también sería útil realizar una limpieza del sistema, esa instalación de php no debianic probablemente también instaló otros archivos.

información relacionada