Posted January 4Jan 4 comment_386 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
February 21Feb 21 comment_570 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
February 26Feb 26 comment_625 After installation and activation (on one of my accounts on the server) work very overload and i had slow respond ... 😕
February 26Feb 26 comment_627 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
February 26Feb 26 comment_628 → 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 26Feb 26 by cwp user
February 29Feb 29 Author comment_643 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
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