I already added Ondřej Surý PPA repository. So Just install php8.5
|
1 |
~$ sudo apt-get install libapache2-mod-php8.5 |
The apache module and cli for php8.5 is included
|
1 2 3 4 5 6 7 8 |
... The following additional packages will be installed: php8.5-cli php8.5-common php8.5-phpdbg php8.5-readline The following NEW packages will be installed: libapache2-mod-php8.5 The following packages will be upgraded: php8.5-cli php8.5-common php8.5-phpdbg php8.5-readline ... |
Check it on CLI Terminal
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
~$ sudo update-alternatives --config php There are 9 choices for the alternative php (providing /usr/bin/php). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/bin/php8.5 85 auto mode 1 /usr/bin/php5.6 56 manual mode 2 /usr/bin/php7.2 72 manual mode 3 /usr/bin/php7.4 74 manual mode 4 /usr/bin/php8.0 80 manual mode 5 /usr/bin/php8.1 81 manual mode 6 /usr/bin/php8.2 82 manual mode 7 /usr/bin/php8.3 83 manual mode * 8 /usr/bin/php8.4 84 manual mode 9 /usr/bin/php8.5 85 manual mode Press <enter> to keep the current choice[*], or type selection number: 9 update-alternatives: using /usr/bin/php8.5 to provide /usr/bin/php (php) in manual mode ~$ php -v PHP 8.5.12 (cli) (built: Oct 21 2026 14:37:30) (NTS) Copyright (c) The PHP Group Built by Ubuntu Zend Engine v4.5.12, Copyright (c) Zend Technologies with Xdebug v3.5.3, Copyright (c) 2002-2026, by Derick Rethans with Zend OPcache v8.5.12, Copyright (c), by Zend Technologies |
Then install the extensions.
|
1 |
sudo apt install php8.5-{bcmath,xml,fpm,mysql,zip,intl,ldap,gd,bz2,curl,mbstring,pgsql,cgi} |
Install XDebug — NO NEED ANYMORE BECAUSE IT’S ALREADY INSTALLED
|
1 |
sudo apt-get install php8.5-xdebug |
Check
|
1 2 3 4 5 6 7 |
~$ php -v PHP 8.5.12 (cli) (built: Oct 21 2026 14:37:30) (NTS) Copyright (c) The PHP Group Built by Ubuntu Zend Engine v4.5.12, Copyright (c) Zend Technologies with Xdebug v3.5.3, Copyright (c) 2002-2026, by Derick Rethans with Zend OPcache v8.5.12, Copyright (c), by Zend Technologies |
PHP8.5 On Apache2
Disable the old PHP
|
1 |
sudo a2dismod php8.4 |
Enable PHP8.5
|
1 |
sudo a2enmod php8.5 |
Also need to run
|
1 |
sudo a2enmod proxy_fcgi setenvif && sudo a2enconf php8.5-fpm |
Restart Apache server
|
1 |
sudo systemctl restart apache2 |
Check on the browser
|
1 |
http://localhost/phpinfo.php |
Should show like PHP Version 8.5.12
CHANGE THE PHP8.5 SETTING
MODIFY SOME INI FILES IN:
/etc/php/8.5/fpm/php.ini –> PHP-FPM AS MAIN
/etc/php/8.5/apache2/php.ini –>APACHE
/etc/php/8.5/cli/php.ini –> CLI
|
1 2 3 4 5 6 7 8 |
upload_max_filesize = 4000M -> (default 2M) max_file_uploads = 4000 -> (default 20) post_max_size = 4000M -> (default 8M) max_execution_time = 6000 -> (default 30) in second max_input_time = 6000 -> (default 60) in second max_input_vars = 10000 memory_limit = 5120M -> (default 128M) memory_limit = -1 -> (FOR CLI) |
RESTART
|
1 |
sudo systemctl restart apache2 |
CONFIG XDEBUG
|
1 2 3 |
sudo gedit /etc/php/8.5/apache2/conf.d/20-xdebug.ini (APACHE2) sudo gedit /etc/php/8.5/fpm/conf.d/20-xdebug.ini (FPM) |
SETTING
|
1 2 3 4 5 6 7 8 9 |
zend_extension=xdebug.so xdebug.mode= debug xdebug.start_with_request = yes xdebug.discover_client_host = true xdebug.max_nesting_level=512 xdebug.var_display_max_data = 1024 xdebug.var_display_max_children = 512 xdebug.var_display_max_depth = 6 xdebug.idekey = VSCODE |
FOR PHP FPM
|
1 |
sudo systemctl restart php8.5-fpm |
TO USE PHP8.5 WITHOUT FPM, PLS STOP PHP8.5 FPM
|
1 |
sudo systemctl stop php8.5-fpm |
ALSO DISABLE SOME FPM MODULES (mpm_event)
|
1 |
sudo a2dismod mpm_event proxy_fcgi |
IF NEEDED
|
1 |
sudo a2disconf php8.5-fpm |
THEN ENABLE mpm_prefork
|
1 |
sudo a2enmod mpm_prefork |
RELOAD
|
1 |
sudo systemctl reload apache2 |
NOW IT’D BE RUNNING