云网牛站
所在位置:首页 > Linux教程 > ubuntu 18.04下安装php7.2-mcrypt

ubuntu 18.04下安装php7.2-mcrypt

2018-07-06 15:48:33作者:龜山島稿源:linux栏

本文为你讲解在ubuntu 18.04操作系统下安装php7.2-mcrypt的具体步骤,请按下面步骤操作。

 

1.先检查版本,安装pecl支持

php -v  # 检查版本,确定为php7.2

pecl version

sudo apt-get install php-pear

sudo apt-get install php7.2-dev

 

2.安装mcrypt extension

mcrypt支持查看这里

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

 

3.输出以下信息,直接回车就行

WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update

downloading mcrypt-1.0.1.tgz ...

Starting to download mcrypt-1.0.1.tgz (33,782 bytes)

.........done: 33,782 bytes

6 source files, building

running: phpize

Configuring for:

PHP Api Version:         20170718

Zend Module Api No:      20170718

Zend Extension Api No:   320170718

libmcrypt prefix? [autodetect] :

building in /tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1

running: /tmp/pear/temp/mcrypt/configure --with-php-config=/usr/bin/php-config --with-mcrypt

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking for a sed that does not truncate output... /bin/sed

checking for cc... cc

checking whether the C compiler works... yes

checking for C compiler default output file name... a.out

checking for suffix of executables...

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether cc accepts -g... yes

checking for cc option to accept ISO C89... none needed

checking how to run the C preprocessor... cc -E

checking for icc... no

checking for suncc... no

checking whether cc understands -c and -o together... yes

checking for system library directory... lib

checking if compiler supports -R... no

checking if compiler supports -Wl,-rpath,... yes

checking build system type... x86_64-pc-linux-gnu

checking host system type... x86_64-pc-linux-gnu

checking target system type... x86_64-pc-linux-gnu

checking for PHP prefix... /usr

checking for PHP includes... -I/usr/include/php/20170718 -I/usr/include/php/20170718/main -I/usr/include/php/20170718/TSRM -I/usr/include/php/20170718/Zend -I/usr/include/php/20170718/ext -I/usr/include/php/20170718/ext/date/lib

checking for PHP extension directory... /usr/lib/php/20170718

checking for PHP installed headers prefix... /usr/include/php/20170718

checking if debug is enabled... no

checking if zts is enabled... no

checking for re2c... no

configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.

checking for gawk... gawk

checking for mcrypt support... yes, shared

checking for libmcrypt version... >= 2.5.6

checking for mcrypt_module_open in -lmcrypt... yes

checking how to print strings... printf

checking for a sed that does not truncate output... (cached) /bin/sed

checking for fgrep... /bin/grep -F

checking for ld used by cc... /usr/bin/x86_64-linux-gnu-ld

checking if the linker (/usr/bin/x86_64-linux-gnu-ld) is GNU ld... yes

checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B

checking the name lister (/usr/bin/nm -B) interface... BSD nm

checking whether ln -s works... yes

checking the maximum length of command line arguments... 1572864

checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop

checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop

checking for /usr/bin/x86_64-linux-gnu-ld option to reload object files... -r

checking for objdump... objdump

checking how to recognize dependent libraries... pass_all

checking for dlltool... no

checking how to associate runtime and link libraries... printf %s\n

checking for ar... ar

checking for archiver @FILE support... @

checking for strip... strip

checking for ranlib... ranlib

checking for gawk... (cached) gawk

checking command to parse /usr/bin/nm -B output from cc object... ok

checking for sysroot... no

checking for a working dd... /bin/dd

checking how to truncate binary pipes... /bin/dd bs=4096 count=1

checking for mt... mt

checking if mt is a manifest tool... no

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking for dlfcn.h... yes

checking for objdir... .libs

checking if cc supports -fno-rtti -fno-exceptions... no

checking for cc option to produce PIC... -fPIC -DPIC

checking if cc PIC flag -fPIC -DPIC works... yes

checking if cc static flag -static works... yes

checking if cc supports -c -o file.o... yes

checking if cc supports -c -o file.o... (cached) yes

checking whether the cc linker (/usr/bin/x86_64-linux-gnu-ld -m elf_x86_64) supports shared libraries... yes

checking whether -lc should be explicitly linked in... no

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... no

configure: creating ./config.status

config.status: creating config.h

config.status: executing libtool commands

running: make

/bin/bash /tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/libtool --mode=compile cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/tmp/pear/temp/mcrypt -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/include -I/tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/main -I/tmp/pear/temp/mcrypt -I/usr/include/php/20170718 -I/usr/include/php/20170718/main -I/usr/include/php/20170718/TSRM -I/usr/include/php/20170718/Zend -I/usr/include/php/20170718/ext -I/usr/include/php/20170718/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/temp/mcrypt/mcrypt.c -o mcrypt.lo

libtool: compile:  cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/tmp/pear/temp/mcrypt -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/include -I/tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/main -I/tmp/pear/temp/mcrypt -I/usr/include/php/20170718 -I/usr/include/php/20170718/main -I/usr/include/php/20170718/TSRM -I/usr/include/php/20170718/Zend -I/usr/include/php/20170718/ext -I/usr/include/php/20170718/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/mcrypt/mcrypt.c  -fPIC -DPIC -o .libs/mcrypt.o

/bin/bash /tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/libtool --mode=compile cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/tmp/pear/temp/mcrypt -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/include -I/tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/main -I/tmp/pear/temp/mcrypt -I/usr/include/php/20170718 -I/usr/include/php/20170718/main -I/usr/include/php/20170718/TSRM -I/usr/include/php/20170718/Zend -I/usr/include/php/20170718/ext -I/usr/include/php/20170718/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/temp/mcrypt/mcrypt_filter.c -o mcrypt_filter.lo

libtool: compile:  cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/tmp/pear/temp/mcrypt -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/include -I/tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/main -I/tmp/pear/temp/mcrypt -I/usr/include/php/20170718 -I/usr/include/php/20170718/main -I/usr/include/php/20170718/TSRM -I/usr/include/php/20170718/Zend -I/usr/include/php/20170718/ext -I/usr/include/php/20170718/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/mcrypt/mcrypt_filter.c  -fPIC -DPIC -o .libs/mcrypt_filter.o

/bin/bash /tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/libtool --mode=link cc -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/include -I/tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/main -I/tmp/pear/temp/mcrypt -I/usr/include/php/20170718 -I/usr/include/php/20170718/main -I/usr/include/php/20170718/TSRM -I/usr/include/php/20170718/Zend -I/usr/include/php/20170718/ext -I/usr/include/php/20170718/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -o mcrypt.la -export-dynamic -avoid-version -prefer-pic -module -rpath /tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/modules  mcrypt.lo mcrypt_filter.lo -lmcrypt -lltdl

libtool: link: cc -shared  -fPIC -DPIC  .libs/mcrypt.o .libs/mcrypt_filter.o   /usr/lib/libmcrypt.so /usr/lib/x86_64-linux-gnu/libltdl.so  -g -O2   -Wl,-soname -Wl,mcrypt.so -o .libs/mcrypt.so

libtool: link: ( cd ".libs" && rm -f "mcrypt.la" && ln -s "../mcrypt.la" "mcrypt.la" )

/bin/bash /tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/libtool --mode=install cp ./mcrypt.la /tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/modules

libtool: install: cp ./.libs/mcrypt.so /tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/modules/mcrypt.so

libtool: install: cp ./.libs/mcrypt.lai /tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/modules/mcrypt.la

libtool: finish: PATH="/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/modules

Libraries have been installed in:

/tmp/pear/temp/pear-build-rooteTY7Qo/mcrypt-1.0.1/modules

If you ever happen to want to link against installed libraries

in a given directory, LIBDIR, you must either use libtool, and

specify the full pathname of the library, or use the '-LLIBDIR'

flag during linking and do at least one of the following:

- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable during execution

- add LIBDIR to the 'LD_RUN_PATH' environment variable during linking

- use the '-Wl,-rpath -Wl,LIBDIR' linker flag

- have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages.

Build complete.

Don't forget to run 'make test'.

running: make INSTALL_ROOT="/tmp/pear/temp/pear-build-rooteTY7Qo/install-mcrypt-1.0.1" install

Installing shared extensions:     /tmp/pear/temp/pear-build-rooteTY7Qo/install-mcrypt-1.0.1/usr/lib/php/20170718/

running: find "/tmp/pear/temp/pear-build-rooteTY7Qo/install-mcrypt-1.0.1" | xargs ls -dils

786579   4 drwxr-xr-x 3 root root   4096 Jul  6 14:35 /tmp/pear/temp/pear-build-rooteTY7Qo/install-mcrypt-1.0.1

786603   4 drwxr-xr-x 3 root root   4096 Jul  6 14:35 /tmp/pear/temp/pear-build-rooteTY7Qo/install-mcrypt-1.0.1/usr

786604   4 drwxr-xr-x 3 root root   4096 Jul  6 14:35 /tmp/pear/temp/pear-build-rooteTY7Qo/install-mcrypt-1.0.1/usr/lib

786605   4 drwxr-xr-x 3 root root   4096 Jul  6 14:35 /tmp/pear/temp/pear-build-rooteTY7Qo/install-mcrypt-1.0.1/usr/lib/php

786606   4 drwxr-xr-x 2 root root   4096 Jul  6 14:35 /tmp/pear/temp/pear-build-rooteTY7Qo/install-mcrypt-1.0.1/usr/lib/php/20170718

786601 188 -rwxr-xr-x 1 root root 189056 Jul  6 14:35 /tmp/pear/temp/pear-build-rooteTY7Qo/install-mcrypt-1.0.1/usr/lib/php/20170718/mcrypt.so

Build process completed successfully

Installing '/usr/lib/php/20170718/mcrypt.so'

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

 

4.添加扩展信息

运行:sudo nano /etc/php/7.2/mods-available/20-mcrypt.ini

添加内容:extension=mcrypt.so

然后连接到conf.d

sudo ln -s /etc/php/7.2/mods-available/20-mcrypt.ini /etc/php/7.2/cli/conf.d/

 

5.检查扩展

php -i | grep mcrypt

 

6.输出以下信息就代表成功了

/etc/php/7.2/cli/conf.d/20-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

 

相关主题

如何在Ubuntu 18.04上安装Linux,Nginx,MySQL,PHP(LEMP堆栈)

精选文章
热门文章