Install PHP 8.1 Latest version in CWP control panel
In this tutorial we’ll install most awaited php version in CWP control panel as php switcher. This easy guide will guide you upon how to install PHP 8 easily.
PHP 8.1 comes with numerous improvements and new features such as:
- – Enumerations
- – Readonly properties
- – Fibers
- – Pure Intersection Types
- – never return type
- – First-class Callable Syntax
- – “final” modifier for class constants
- – New fsync and fdatasync functions
- – New array_is_list function
- – Explicit Octal numeral notatio
PHP 8.1 will not support your current php scripts/cms/themes. Check before shifting to php 8.1.
Step 1 :
Building files which are required to compile php 7.4
Centos 7/el7 :
yum install oniguruma oniguruma-devel gcc make gcc-c++ cpp kernel-headers.x86_64 libxml2-devel openssl-devel bzip2-devel libjpeg-devel libpng-devel freetype-devel openldap-devel postgresql-devel aspell-devel net-snmp-devel libxslt-devel libc-client-devel libicu-devel gmp-devel curl-devel libmcrypt-devel pcre-devel sqlite-devel db4-devel enchant-devel libXpm-devel mysql-devel readline-devel libedit-devel recode-devel libtidy-devel libtool-ltdl-devel libwebp libwebp-devel expat expat-devel
Centos 8/stream/el8 :
yum install oniguruma oniguruma-devel gcc make gcc-c++ cpp kernel-headers.x86_64 libxml2-devel openssl-devel bzip2-devel libjpeg-devel libpng-devel freetype-devel openldap-devel postgresql-devel aspell-devel net-snmp-devel libxslt-devel libc-client-devel libicu-devel gmp-devel curl-devel libmcrypt-devel pcre-devel sqlite-devel libdb-devel enchant-devel libXpm-devel mysql-devel readline-devel libedit-devel recode-devel libtidy-devel libtool-ltdl-devel libwebp libwebp-devel expat expat-devel libmemcached libmemcached-devel
Now we’ll build libzip and pcre2 :
Install EPEL :
yum install epel-release
Then install some more dependencies and remove the libzip package :
Centos 7 :
rpm -e --nodeps libzip libzip-devel yum -y install cmake3 cmake zlib-devel --enablerepo=epel
Centos 8 :
rpm -e --nodeps libzip libzip-devel yum install cmake zlib-devel ln -s /usr/bin/cmake /usr/bin/cmake3
Installing Latest version Libzip
from source :
cd /usr/local/src rm -rf libzip* wget https://libzip.org/download/libzip-1.5.1.tar.gz tar zxvf libzip* ## for centos 7 : cd libzip* ## for centos 8 : cd libzip*/ mkdir build cd build /usr/bin/cmake3 .. make && make install
Installing Latest version pcre2
from source :
cd /usr/local/src rm -rf pcre2* wget https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.39/pcre2-10.39.zip -O pcre2.zip unzip pcre2.zip ## for centos 7 : cd pcre2-* ## for centos 8 : cd pcre2-*/ ./configure make && make install
Install Latest libavif
for new AVIF GD image support:
cd /usr/local/src rm -rf master* libavif-master* wget https://github.com/AOMediaCodec/libavif/archive/refs/heads/master.zip unzip master.zip cd libavif-master mkdir build-dir cd build-dir #Run this if you've centos 7/el7: cmake3 .. #Run this if you've centos 8/stream/el8 or up: cmake .. make make install
Step 2 :
Configuring pkg-config path variables
run the below command :
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig
After you installed deps and exporting path variable continue to install php 8 with this steps :
mkdir -p /usr/local/php-81 cd /usr/local/php-81 wget http://php.net/distributions/php-8.1.3.tar.gz tar zxvf php-8.1.3.tar.gz cd php-8.1.3 ./configure --with-config-file-path=/usr/local/php --enable-cgi --with-config-file-scan-dir=/usr/local/php/php.d --with-zlib=/usr --enable-mbstring --with-zip --enable-bcmath --enable-pcntl --enable-ftp --enable-exif --enable-calendar --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-tidy --with-curl --with-iconv --with-gmp --with-pspell --enable-gd --with-avif --with-jpeg --with-freetype --enable-gd-jis-conv --with-webp --with-zlib-dir=/usr --with-xpm --with-openssl --with-pdo-mysql=mysqlnd --with-gettext=/usr --with-bz2=/usr --with-mysqli --enable-soap --enable-phar --with-xsl --with-kerberos --enable-posix --enable-sockets --with-external-pcre --with-libdir=lib64 --with-mysql-sock=/var/lib/mysql/mysql.sock --enable-intl --with-password-argon2 --enable-litespeed --with-ldap=/usr --with-ldap-sasl=/usr make make install
it will take some time depends on your server speed when it is finished you can check the php version via command :
php -v
eg :
# php -v PHP 8.1.3 (cli) (built: Feb 17 2022 11:09:47) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
if you’ve any question comment below or for discussion go to our forum link : https://forum.mysterydata.com
checking for res_search… no
checking for __res_search… yes
checking whether strptime() declaration fails… yes
checking whether arc4random_buf is declared… no
checking for Argon2 support… yes
checking for libargon2… no
configure: error: Package requirements (libargon2) were not met:
Package ‘libargon2’, required by ‘virtual:world’, not found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables ARGON2_CFLAGS
and ARGON2_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
[root@cp php-8.1.0]# make && make install
make: *** No targets specified and no makefile found. Stop.
[root@cp php-8.1.0]#
can help me problem install php 8.10 sandeep
Alternatively, you may set the environment variables ARGON2_CFLAGS
and ARGON2_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
[root@vze php-8.1.0]# make
make: *** No targets specified and no makefile found. Stop.
[root@vze php-8.1.0]# make install
Pkg-config are intended to build to update env and lib paths. I’ve test all before publishing.
yum install oniguruma oniguruma-devel gcc make gcc-c++ cpp kernel-headers.x86_64 libxml2-devel openssl-devel bzip2-devel libjpeg-devel libpng-devel freetype-devel openldap-devel postgresql-devel aspell-devel net-snmp-devel libxslt-devel libc-client-devel libicu-devel gmp-devel curl-devel libmcrypt-devel pcre-devel sqlite-devel libdb-devel enchant-devel libXpm-devel mysql-devel readline-devel libedit-devel recode-devel libtidy-devel libtool-ltdl-devel libwebp libwebp-devel expat expat-devel libmemcached libmemcached-develsnmp-deve Last metadata expiration check: 0:00:49 ago on Mon 03 Jan 2022 01:19:07 PM CET.e No match for argument: oniguruma-devell enchant-devel libXpm-devel mysql-devel r No match for argument: aspell-develdevel libtidy-devel libtool-ltdl-devel libweb No match for argument: enchant-devel
No match for argument: libedit-devel
No match for argument: recode-devel
Package expat-2.2.5-4.el8.x86_64 is already installed.
No match for argument: libmemcached-devel
Error: Unable to find a match: oniguruma-devel aspell-devel enchant-devel libedit-devel recode-devel libmemcached-devel
check the powertools repo is enabled for centos 8 (recommend to upgrade to stream)
https://www.uxlinux.com/convert-centos-8-to-centos-8-stream-install-cwp-control-panel-in-centos-8-stream/
yes, I know, but others don’t know, we have already had this topic (test it and only then publish it) beginners do not know as well as we do!