php7 instalar extension php ubuntu github mcrypt pecl

instalar - php7.2-mcrypt debian



Problema en la instalaciĆ³n de php7.2-mcrypt (3)

Como estoy tratando de cargar el módulo de extensión mcrypt de la versión PHP 7.2.X.
Así que intenté hacer uso de la biblioteca PECL que es compatible con la versión actual de mi PHP, para instalarme y seguí este enlace: ¡ Instalar mcrypt en PHP 7.2 durante la instalación!

Estos a continuación son los resultados obtenidos después de ejecutar ciertos comandos en el terminal.

root@YYY:/var/www/html/orocrm# apt install php-pear Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: libllvm4.0 Use ''sudo apt autoremove'' to remove it. The following NEW packages will be installed: php-pear 0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded. Need to get 285 kB of archives. After this operation, 2,107 kB of additional disk space will be used. Get:1 http://ppa.launchpad.net/ondrej/php/ubuntu xenial/main amd64 php-pear all 1:1.10.5+submodules+notgz-1+ubuntu16.04.1+deb.sury.org+1 [285 kB] Fetched 285 kB in 1s (230 kB/s) Selecting previously unselected package php-pear. (Reading database ... 215503 files and directories currently installed.) Preparing to unpack .../php-pear_1%3a1.10.5+submodules+notgz-1+ubuntu16.04.1+deb.sury.org+1_all.deb ... Unpacking php-pear (1:1.10.5+submodules+notgz-1+ubuntu16.04.1+deb.sury.org+1) ... Processing triggers for man-db (2.7.5-1) ... Setting up php-pear (1:1.10.5+submodules+notgz-1+ubuntu16.04.1+deb.sury.org+1) ... YYY@YYY:/var/www/html/orocrm$ sudo apt-get -y install gcc make autoconf libc-dev pkg-config [sudo] password for YYY: Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting ''libc6-dev'' instead of ''libc-dev'' gcc is already the newest version (4:5.3.1-1ubuntu1). make is already the newest version (4.1-6). pkg-config is already the newest version (0.29.1-0ubuntu1). libc6-dev is already the newest version (2.23-0ubuntu9). The following package was automatically installed and is no longer required: libllvm4.0 Use ''sudo apt autoremove'' to remove it. Suggested packages: autoconf-archive gnu-standards autoconf-doc libtool The following NEW packages will be installed: autoconf automake autotools-dev libsigsegv2 m4 0 upgraded, 5 newly installed, 0 to remove and 14 not upgraded. Need to get 1,079 kB of archives. After this operation, 3,998 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 libsigsegv2 amd64 2.10-4 [14.1 kB] Get:2 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 m4 amd64 1.4.17-5 [195 kB] Get:3 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 autoconf all 2.69-9 [321 kB] Get:4 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 autotools-dev all 20150820.1 [39.8 kB] Get:5 http://in.archive.ubuntu.com/ubuntu xenial/main amd64 automake all 1:1.15-4ubuntu1 [510 kB] Fetched 1,079 kB in 2s (447 kB/s) Selecting previously unselected package libsigsegv2:amd64. (Reading database ... 215198 files and directories currently installed.) Preparing to unpack .../libsigsegv2_2.10-4_amd64.deb ... Unpacking libsigsegv2:amd64 (2.10-4) ... Selecting previously unselected package m4. Preparing to unpack .../archives/m4_1.4.17-5_amd64.deb ... Unpacking m4 (1.4.17-5) ... Selecting previously unselected package autoconf. Preparing to unpack .../autoconf_2.69-9_all.deb ... Unpacking autoconf (2.69-9) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../autotools-dev_20150820.1_all.deb ... Unpacking autotools-dev (20150820.1) ... Selecting previously unselected package automake. Preparing to unpack .../automake_1%3a1.15-4ubuntu1_all.deb ... Unpacking automake (1:1.15-4ubuntu1) ... Processing triggers for install-info (6.1.0.dfsg.1-5) ... Processing triggers for man-db (2.7.5-1) ... Processing triggers for doc-base (0.10.7) ... Processing 1 added doc-base file... Setting up libsigsegv2:amd64 (2.10-4) ... Setting up m4 (1.4.17-5) ... Setting up autoconf (2.69-9) ... Setting up autotools-dev (20150820.1) ... Setting up automake (1:1.15-4ubuntu1) ... update-alternatives: using /usr/bin/automake-1.15 to provide /usr/bin/automake (automake) in auto mode Processing triggers for libc-bin (2.23-0ubuntu9) ... YYY@YYY:/var/www/html/orocrm$ sudo apt-get -y install libmcrypt-dev Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: libllvm4.0 Use ''sudo apt autoremove'' to remove it. The following NEW packages will be installed: libmcrypt-dev 0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded. Need to get 83.7 kB of archives. After this operation, 438 kB of additional disk space will be used. Get:1 http://in.archive.ubuntu.com/ubuntu xenial/universe amd64 libmcrypt-dev amd64 2.5.8-3.3 [83.7 kB] Fetched 83.7 kB in 0s (105 kB/s) Selecting previously unselected package libmcrypt-dev. (Reading database ... 215484 files and directories currently installed.) Preparing to unpack .../libmcrypt-dev_2.5.8-3.3_amd64.deb ... Unpacking libmcrypt-dev (2.5.8-3.3) ... Processing triggers for man-db (2.7.5-1) ... Setting up libmcrypt-dev (2.5.8-3.3) ... YYY@YYY:/var/www/html/orocrm$ sudo pecl7.2-sp install --nodeps mcrypt-snapshot sudo: pecl7.2-sp: command not found

Como estoy obteniendo este tipo de error como pecl7.2-sp: comando no encontrado

Desde la sección de documentación, se indicó claramente que había quedado en desuso y que ya no estará disponible desde el punto de vista de la seguridad, desde entonces, a partir de la versión de lanzamiento de PHP 7.2.X en adelante.

Pero algunos de los proyectos necesitan esas dependencias para poder llevar a cabo la funcionalidad requerida según sea necesario. ¿Cómo necesito resolver el problema anterior?

ACTUALIZAR:

TL; DR:

Recibí muchas respuestas de los votos a la respuesta publicada. Las respuestas deben ser evaluadas dependiendo del nivel de Arquitectura del SO. Ya que estoy usando el servidor compartido para el alojamiento, hay más de un proyecto que reside sobre él y están codificados con la versión de PHP 5.XX, así que decidí cambiar a PHP 7.1.X que admite la extensión mcrypt por defecto en mi sistema operativo basado en Debian.

Como ya mencioné en el enlace al instalar mcrypt Extension en PHP 7.2 , por la comunidad Server Pilot. Estas personas dijeron que una versión más nueva de pecl-7.2 está disponible para instalar mcrypt en PHP-7.2. Desafortunadamente, terminó con el pecl7.2-sp: command not found de los comandos ejecutados que se colocaron. Más tarde, la página del sitio web recibió una actualización, por lo que los comandos de allí no coinciden con los comandos que se probaron durante la ejecución.

Finalmente, cualquiera que sea la solución que se ajuste a su nivel de Arquitectura de SO, ¡simplemente inténtelo!

O

Si los enfoques a continuación no ceden para resolver la causa raíz.
Alternativamente, puede ir a la versión de PHP 7.1.X que admite la extensión mcrypt por defecto


@ praneeth-nidarshan ha cubierto casi todos los pasos, excepto algunos:

  • Compruebe si tiene pera instalada (o instalación):

$ sudo apt-get install php-pear

  • Instale, si no está ya instalado, php7.2-dev, para evitar el error:

sh: phpize: no encontrado

ERROR: `phpize ''falló

$ sudo apt-get install php7.2-dev

  • Instala mcrypt usando pecl:

$ sudo pecl install mcrypt-1.0.1

  • Agregue la extensión de extension=mcrypt.so a su archivo de configuración php.ini; Si no sabes dónde está, busca con:

$ sudo php -i | grep ''Configuration File''


Mcrypt PECL extenstion

sudo apt-get -y install gcc make autoconf libc-dev pkg-config sudo apt-get -y install libmcrypt-dev sudo pecl install mcrypt-1.0.1

Cuando se le muestre el aviso

libmcrypt prefix? [autodetect] :

Presione [Enter] para autodetectar.

Después de instalar con éxito mcrypt trought pecl, debe agregar la extensión mcrypt.so a php.ini.

La salida se verá así:

... Build process completed successfully Installing ''/usr/lib/php/20170718/mcrypt.so'' ----> this is our path to mcrypt extension lib install ok: channel://pecl.php.net/mcrypt-1.0.1 configuration option "php_ini" is not set to php.ini location You should add "extension=mcrypt.so" to php.ini

Tome la ruta de instalación y agregue a cli y apache2 la configuración de php.ini.

sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini" sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini"

Verifique que la extensión fue instalada

Ejecutar comando:

php -i | grep "mcrypt"

La salida se verá así:

/etc/php/7.2/cli/conf.d/mcrypt.ini Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.* mcrypt mcrypt support => enabled mcrypt_filter support => enabled mcrypt.algorithms_dir => no value => no value mcrypt.modes_dir => no value => no value


Seguí los pasos a continuación para instalar mcrypt para PHP7.2 usando PECL .

  1. Instalar PECL

apt-get install php-pecl

  1. Antes de instalar MCRYPT debes instalar libmcrypt

apt-get install libmcrypt-dev libreadline-dev

  1. Instale mcrypt utilizando PECL

instalar peccr mcrypt-1.0.1

  1. Después de la instalación exitosa

Debe agregar " extension = mcrypt.so " a php.ini

Por favor comente abajo si necesita ayuda. :-)