Clarify PHP module bundling for PHP 8.3 and 8.4#14793
Conversation
Add version-specific notes about modules bundled by default in newer PHP versions. Explains that some modules (e.g., curl, zlib, sodium) may already be enabled in PHP 8.4, helping users troubleshoot 'module not found' errors. Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
📖 Documentation Preview📄 1 changed documentation pageLast updated: Thu, 07 May 2026 09:28:19 GMT |
|
Very helpful. I think the biggest challenge here is that different distributions/platforms may elect to bundle PHP in different ways... The Raspberry Pi machines I use for this use Debian-based software, so PHP is broken down in to discrete packages... that division of content may be different on other Linux flavours, never mind other OS platforms. I think this might be something that would benefit from crowd-sourcing - so users can share what they've learned in their own attempts. |
|
Yes, I agree. It's also quite hard to document such changes as it's easy to become out-of-date. |
500% The experience that prompted me to raise this suggestion related to ImageMagick... I had a prompt in my Nextcloud Admin panels to tell me that I was missing some ImageMagick-related code... I went looking, using the Raspberry Pi's native "Add/Remove Software" GUI-based application - which has some useful text search features built in... but I was unable to identify any package not already installed that would solve that dependency issue. It was only by random luck that I happened to come across a Reddit thread where someone had very kindly posted a solution that worked on their Pi - I tried it and it solved the issue. This tells me that the root of the challenge is not NextCloud per se, but a "disconnect" between the way that NextCloud asks for libraries and the way that the platforms on which NC is being run choose to package and distribute that code. That is a problem of infinite complexity and I am under no illusion that asking NC to "solve" that is not only completely unreasonable, but beyond the abilities of any software project to address. For this specific issue, I think one possible solution is simply to have a series of static pages in a tree-like structure:-
I have a LibreOffice document that I wrote and maintain that covers how to install NC on a Raspberry Pi - and each time I port or upgrade the code I upgrade the doc to a new version. There, I literally list down the package dependencies, as well as notes along the lines of, "When you see this error message in the Admin Screens, {...}, here's how to fix it..." The problem is that my notes are certainly specific to Raspberry Pi based installations and likely specific to my setup, but I still think there is knowledge there worth sharing with others. And I'd happily contribute to that pooled knowledge as a way of paying back to all those who have helped me in the past... |
Summary
Clarifies PHP module bundling behavior in PHP 8.3 and 8.4 to help users troubleshoot installation issues.
Problem
When deploying Nextcloud on PHP 8.4, users encounter "module not found" errors when trying to install modules that are already bundled with the PHP package. The documentation doesn't clarify that certain modules are bundled by default in newer PHP versions, leading to confusion and wasted troubleshooting time.
Solution
Added version-specific notes to the PHP configuration documentation explaining:
Changes
sodiummodule documentation to clarify it's typically bundled in PHP 8.4Relates to
#14036