I have switched the php version back to v8.1 and now everything works fine again.
I agree with you that it’s a strange situation, but after further investigation, involving two different shared hosting accounts (so from two different hosting providers), both having disabled “proc_open()” and “exec()” functions in all their php versions from v8.1 to v8.4 (like probably most shared hosting providers), it got even weirder.
After installing a new Omeka-S v4.1.1 instance in any of the php versions v8.1 to v8.3 and then trying to install the latest versions of the IIIF modules: Common (v3.4.74), IIIF server (v3.6.26), Image server (v3.6.20) and Mirador Viewer (v3.4.11), I immediately ran into the “disabled proc_open and exec()”-error[*] from the start, so immediately after trying to install Common v.3.4.74 from scratch. This happens in php versions 8.1, 8.2, and 8.3 (and the same in a new Omeka-S v4.2 instance running on php v8.4).
But when I downgrade to Common v3.4.73, I don’t get this error. After that, installing IIIF server v3.6.26 works immediately, but when I try to install Image server v3.6.20, I get the same “disabled proc_open and exec()”-error, although after refreshing the page it looks like the module did install. The downgrading trick unfortunately doesn’t work for Image server: I tried all older versions for Omeka-S v4.x with the same result.
Finally, when trying to install Mirador Viewer v3.4.11, I get the message that this version only works with the latest version of Common, so v3.4.74. Then the weird part starts: I can upgrade Common v3.4.73 to v3.4.74 without a problem, after which I can of course also install Mirador Viewer v3.4.11. And then, having Image Server still on an older version, I can also upgrade Image server to v3.6.20 without a problem.
So far, so good you would think. However a test with a new item including an image shows that Mirador doesn’t show the image, exactly like I encountered in my own site. Switching from Mirador to Universal Viewer shows the same. So my guess is that the combination of the latest releases of the modules Common and Image server causes a problem for shared hosting accounts and somehow this doesn’t affect sites which were still on php v8.1 and initially ran older versions of these modules. I hope someone can get to the bottom of this, because otherwise it would really kill the combo Omeka-S - IIIF on shared hosting accounts.
In the meantime: for anyone having a situation like mine, so who wants to upgrade the php version of a shared hosting account (in order to run other applications properly) and still wants to keep an Omeka-S - IIIF site on php v8.1, add these lines at the top of your .htaccess file:
# ========== ADD THIS SECTION FOR PHP 8.1 ==========
<FilesMatch "\.(php4|php5|php3|php2|php|phtml)$">
SetHandler application/x-lsphp81
</FilesMatch>
# ========== END PHP VERSION SECTION ===============
This will keep the directory or the subdomain for your Omeka-S - IIIF site running on php v8.1, despite any other overall php version set for the account.
[*] = Omeka\Service\Exception\RuntimeException: Neither “proc_open()” nor “exec()” are available.
Best wishes,
Wim