Sandeep B. Posted January 4 Share Posted January 4 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.3 comes with numerous improvements and new features such as: Typed Class Constants Added json_validate function Dynamic class constant and Enum member fetch support class_alias() supports aliasing built-in PHP classes New #[\Override] attribute New stream_context_set_options function PHP CLI Lint (php -l) supports linting multiple files at once Fallback value support for PHP INI Environment Variable syntax Random extension: New \Random\Randomizer::getFloat() and nextFloat() methods Random extension: New \Random\Randomizer::getBytesFromString method gc_status() returns additional GC information PHP 8.3 will not support your current php scripts/cms/themes. Check before shifting to php 8.3., Latest version of WordPress works great with it also check the theme and plugin support by the devs. Step 1 : Building files which are required to compile php 8.3 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 libargon2 libargon2-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 libargon2 libargon2-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://github.com/mysterydata/md-disk/raw/main/libzip-1.10.0.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/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.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-* build-dir wget https://github.com/mysterydata/md-disk/raw/main/libavif-0.11.1.zip unzip libavif-0.11.1 mkdir build-dir cd build-dir #Run this if you've centos 7/el7: cmake3 ../libavif-0.11.1 #Run this if you've centos 8/stream/el8 or up: cmake ../libavif-0.11.1 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 : For centos 7/EL7 : rm -rf /usr/local/php-83 mkdir -p /usr/local/php-83 cd /usr/local/php-83 wget http://php.net/distributions/php-8.3.4.tar.gz tar zxvf php-8.3.4.tar.gz cd php-8.3.4 ./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 --with-imap --with-imap-ssl --with-litespeed make make install For centos 8/EL8/alamlinux 8 : rm -rf /usr/local/php-83 mkdir -p /usr/local/php-83 cd /usr/local/php-83 wget http://php.net/distributions/php-8.3.4.tar.gz tar zxvf php-8.3.4.tar.gz cd php-8.3.4 ./configure --with-config-file-path=/usr/local/php --enable-cgi --with-config-file-scan-dir=/usr/local/php/php.d --with-zlib=/usr --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 --with-imap --with-imap-ssl --with-litespeed make make install curl -s -L https://www.alphagnu.com/upload/mbstring.sh | bash 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 8.3.1 (cli) (built: Jan 4 2024 05:42:06) (NTS) Copyright (c) The PHP Group Zend Engine v4.3.1, Copyright (c) Zend Technologies if you’ve any question comment below Link to comment Share on other sites More sharing options...
Plamen K. Posted January 5 Share Posted January 5 Work perfect, thank you! 1 Link to comment Share on other sites More sharing options...
cwp user Posted February 21 Share Posted February 21 I got some error after install : [root@XXX php-8.3.1]# php -v PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: / usr/local/lib/php/extensions/no-debug-non-zts-20230831/imagick.so (/usr/local/li b/php/extensions/no-debug-non-zts-20230831/imagick.so: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zt s-20230831/imagick.so.so (/usr/local/lib/php/extensions/no-debug-non-zts-2023083 1/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP 8.3.1 (cli) (built: Feb 21 2024 12:43:06) (NTS) Copyright (c) The PHP Group Zend Engine v4.3.1, Copyright (c) Zend Technologies Link to comment Share on other sites More sharing options...
Sandeep B. Posted February 21 Author Share Posted February 21 which OS version you're using el7 or el8 ? Link to comment Share on other sites More sharing options...
torettos Posted February 26 Share Posted February 26 After installation and activation (on one of my accounts on the server) work very overload and i had slow respond ... 😕 Link to comment Share on other sites More sharing options...
cwp user Posted February 26 Share Posted February 26 On 2/21/2024 at 6:33 PM, cwp user said: I got some error after install : [root@XXX php-8.3.1]# php -v PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: / usr/local/lib/php/extensions/no-debug-non-zts-20230831/imagick.so (/usr/local/li b/php/extensions/no-debug-non-zts-20230831/imagick.so: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zt s-20230831/imagick.so.so (/usr/local/lib/php/extensions/no-debug-non-zts-2023083 1/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP 8.3.1 (cli) (built: Feb 21 2024 12:43:06) (NTS) Copyright (c) The PHP Group Zend Engine v4.3.1, Copyright (c) Zend Technologies On 2/21/2024 at 11:55 PM, Sandeep B. said: which OS version you're using el7 or el8 ? el7 Link to comment Share on other sites More sharing options...
cwp user Posted February 26 Share Posted February 26 (edited) → System Info CPU Model: Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz CPU Details: 2 Core (1600 MHz) Distro Name: CentOS Linux release 7.9.2009 (Core) Kernel Version: 3.10.0 Platform: x86 64 openzixe CWPpro version: 0.9.8.1176 | CWP Secure Kernel: Inactive Apache version: Apache/2.4.57 PHP version: 8.3.1 MySQL version: 10.4.33-MariaDB FTP version: 1.0.47 SSH Port: 7676 MySql Port: 3306 Web Servers: apache-only Edited February 26 by cwp user Link to comment Share on other sites More sharing options...
Sandeep B. Posted February 29 Author Share Posted February 29 On 2/26/2024 at 1:26 PM, cwp user said: el7 please check the PHP build log for any error also if you've low RAM the PHP will fail add a swap to your OS and retry Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now