Ran OS updates, noticed Alma updated from 9.5 to 9.6
Release notes for 9.6 say php 8.3 is in the updated module streams:
source: 9.6 | AlmaLinux Wiki
sudo dnf module list php
Last metadata expiration check: 2:45:39 ago on Sat Jun 14 11:32:41 2025.
AlmaLinux 9 - AppStream
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP scripting language
php 8.2 common [d], devel, minimal PHP scripting language
php 8.3 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, disabled, [i]nstalled
Current php version is
[root@xxxxxxx ~]# php -v PHP 8.0.30 (cli) (built: May 13 2025 19:33:03) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
Is there a particular reason the remi repository is recommended for multiple php versions over the OS version (assuming the OS version isn’t remi)?
Is there a particular reason PHP 8.0.30 can’t be updated to 8.3 (if no requirement for multiple php versions) using the OS version?
If not, is it just run these commands:
dnf module enable php:8.2
dnf update
AppStreams are pretty new (our docs predate them by a few years), and we haven’t had much chance to test them. Generally, I recommend going with what the OS provides whenever possible, so I suspect you’ll be fine with the AppStream version.
But, I will point out that the support policy for AppStreams is roughly the same as that of the Remi repo: It ends when the upstream PHP folks end it. The vendor (Red Hat and other EL providers) will not commit to backporting security fixes, etc. to AppStreams versions.
If you want what we know works, go with what we have documented. If you want to go on an adventure and report back, go with AppStreams. The latter is probably quite low-risk (I will be surprised if there are problems, but not shocked). The former is no-risk.
Did you ever get any clues from the logs about why that issue was happening? It’s still not something I’ve ever seen, and I have a bunch of Rocky boxes running various PHP versions from Remi (as well as the stock PHP).
my understanding of RedHat AppStreams is – it applies to the entire RH server — a way to change the base/default php you have — I’m happy to be corrected if this is in error
the REMI repo method will install other versions in parallel, using a numbered naming format, such as php83 – which then gives each virtual server via the Virtualmin control panel, a choice of what php version to use for each website. And at the cmd line, you can execute a specific version by specifying it:
php83 <file.php>
also I very recently found out some php modules exist in REMI but do not exist in the RH repo, bummer.
CentOS Stream is entirely unrelated (well, it’s all related in the sense that this is a family of operating systems and CentOS Stream is in the family along with Fedora, RHEL and the various Open Source EL distros). Both are on a “streaming” release cycle…meaning they do not have the long support lifecycle of RHEL/Alma/Rocky, and you should not have any expectations about long support life for software installed from AppStreams modules (or CentOS Stream in its entirety).
some info from RedHat on their support limitations –
in the case of php 8.3 on v9, a table at Red Hat Enterprise Linux Application Streams Life Cycle | Red Hat Customer Portal says that 8.3 will be supported thru May 2029 – note RHEL 9 itself (according to google) is supported thru May 2032 — so there is a three year support difference between RHEL 9 itself and php 8.3. Also that table says php 8.3 was added/released in AppStreams last month – May 2025. I’m sure REMI had it available very shortly after its general release in November 2023.
its up to the reader to decide if support thru May 2029 would qualify as “long support life”