PHP: Difference between revisions
add php7.2 |
→Installing mcrypt on PHP 7.2: complete procedure |
||
Line 114: | Line 114: | ||
configuration option "php_ini" is not set to php.ini location | configuration option "php_ini" is not set to php.ini location | ||
You should add "extension=mcrypt.so" to php.ini | You should add "extension=mcrypt.so" to php.ini | ||
</source> | |||
# create a <code>/etc/php/7.2/mods-available/mcrypt.ini</code> <source lang="ini"> | |||
; configuration for php mcrypt module | |||
; priority=20 | |||
extension=mcrypt.so | |||
</source> | |||
# create a symlink for mcrypt under fpm <source lang="console"> | |||
root@hydrogen:/etc/php/7.2# cd fpm/conf.d | |||
root@hydrogen:/etc/php/7.2/fpm/conf.d# ln -s ../../mods-available/mcrypt.ini 20-mcrypt.ini | |||
</source> | |||
# restart fpm service <source lang="console"> | |||
root@hydrogen:/etc/php/7.2/fpm/conf.d# systemctl restart php7.2-fpm.service | |||
</source> | </source> |
Revision as of 10:45, 24 April 2018
CLI
Show errors when executing in CLI
$ php -d display_errors myscript.php
PHP 7.2
Installing mcrypt on PHP 7.2
- Last tested on Ubuntu 16.04.4 LTS (xenial)
- install required packages
mhan@host:~/dev $ sudo apt-get -y install gcc make autoconf libc-dev pkg-config Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'libc6-dev' instead of 'libc-dev' autoconf is already the newest version (2.69-9). 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-0ubuntu10). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. mhan@host:~/dev $ sudo apt-get -y install libmcrypt-dev Reading package lists... Done Building dependency tree Reading state information... Done libmcrypt-dev is already the newest version (2.5.8-3.3). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. mhan@host:~/dev $ sudo apt-get install php7.2-dev Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: php7.2-dev 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 557 kB of archives. After this operation, 5,669 kB of additional disk space will be used. Get:1 http://ppa.launchpad.net/ondrej/php/ubuntu xenial/main amd64 php7.2-dev amd64 7.2.4-1+ubuntu16.04.1+deb.sury.org+1 [557 kB] Fetched 557 kB in 1s (475 kB/s) [master 5187285] saving uncommitted changes in /etc prior to apt run 4 files changed, 10 insertions(+), 4 deletions(-) Selecting previously unselected package php7.2-dev. (Reading database ... 176836 files and directories currently installed.) Preparing to unpack .../php7.2-dev_7.2.4-1+ubuntu16.04.1+deb.sury.org+1_amd64.deb ... Unpacking php7.2-dev (7.2.4-1+ubuntu16.04.1+deb.sury.org+1) ... Processing triggers for man-db (2.7.5-1) ... Setting up php7.2-dev (7.2.4-1+ubuntu16.04.1+deb.sury.org+1) ... update-alternatives: using /usr/bin/php-config7.2 to provide /usr/bin/php-config (php-config) in auto mode update-alternatives: using /usr/bin/phpize7.2 to provide /usr/bin/phpize (phpize) in auto mode [master b808f2b] committing changes in /etc after apt run 4 files changed, 4 insertions(+), 4 deletions(-)
- install mcrypt-1.0.1
mhan@host:~/dev $ sudo pecl install mcrypt-1.0.1 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-rootD4MO1w/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 ... If you ever happen to want to link against installed libraries [3/531] 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-rootD4MO1w/install-mcrypt-1.0.1" install Installing shared extensions: /tmp/pear/temp/pear-build-rootD4MO1w/install-mcrypt-1.0.1/usr/lib/php/20170718/ running: find "/tmp/pear/temp/pear-build-rootD4MO1w/install-mcrypt-1.0.1" | xargs ls -dils 26300 4 drwxr-xr-x 3 root root 4096 Apr 24 11:14 /tmp/pear/temp/pear-build-rootD4MO1w/install-mcrypt-1.0.1 27940 4 drwxr-xr-x 3 root root 4096 Apr 24 11:14 /tmp/pear/temp/pear-build-rootD4MO1w/install-mcrypt-1.0.1/usr 27945 4 drwxr-xr-x 3 root root 4096 Apr 24 11:14 /tmp/pear/temp/pear-build-rootD4MO1w/install-mcrypt-1.0.1/usr/lib 28355 4 drwxr-xr-x 3 root root 4096 Apr 24 11:14 /tmp/pear/temp/pear-build-rootD4MO1w/install-mcrypt-1.0.1/usr/lib/php 28368 4 drwxr-xr-x 2 root root 4096 Apr 24 11:14 /tmp/pear/temp/pear-build-rootD4MO1w/install-mcrypt-1.0.1/usr/lib/php/20170718 27762 164 -rwxr-xr-x 1 root root 164976 Apr 24 11:14 /tmp/pear/temp/pear-build-rootD4MO1w/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
- create a
/etc/php/7.2/mods-available/mcrypt.ini
; configuration for php mcrypt module ; priority=20 extension=mcrypt.so
- create a symlink for mcrypt under fpm
root@hydrogen:/etc/php/7.2# cd fpm/conf.d root@hydrogen:/etc/php/7.2/fpm/conf.d# ln -s ../../mods-available/mcrypt.ini 20-mcrypt.ini
- restart fpm service
root@hydrogen:/etc/php/7.2/fpm/conf.d# systemctl restart php7.2-fpm.service