Bei PHP-FPM gibt es technisch bedingt keine Lösung um den Ioncube-Loader nur selektiv zu aktivieren. In diesem Fall lädt nämlich der PHP-FPM-Pool-Prozess die Ioncube-Erweiterung, beim eigentlichen PHP-Zugriff wird dieser Prozess dann nur geforked und anschließend mit Benutzer-Berechtogungen und -Einstellungen ausgeführt. Zu diesem Zeitpunkt ist Ioncube aber bereits geladen (und ein Nachladen erst nach dem fork() ist nicht möglich).
Eine Idee wäre, mit der php.ini-Option ioncube.loader.encoded_paths zu experimentieren. Laut Anleitung legt diese fest, in welchen Verzeichnissen Ioncube aktiv werden soll. Sie könnten diese Einstellung global auf einen quasi ungültigen Wert (z.B. disabled) setzen, und nur bei den Kunden die Ioncube benötigen auf %HOME%/
Die andere Möglichkeit wäre, auf PHP-FPM zu verzichten und FastCGI zu nutzen. Da wird ja pro Benutzer (Vertrag) eine eigene PHP-Instanz gestartet, somit können Extensions individuell aktiviert/deaktiviert werden. Konkret könnte das so aussehen, dass Webhosting-Verträge ohne Ioncube-Loader weiterhin mit PHP-FPM genutzt werden können, während Accounts die Ioncube benötigen dann mit FastCGI laufen müssen.
So oder so müssten Sie in z.B. /opt/php-8.2/etc/conf.d/ioncube.ini die zend_extension=...-Anweisung auskommentieren, und in der php.ini-Verwaltung in LiveConfig (für jede verfügbare PHP-Version) einen entsprechenden php.ini-Eintrag hinzufügen:
(oder die Option "Änderbar" nur auf "pro Vertrag" setzen, dann kann das nicht der Kunde selbst ändern sondern nur noch der jeweilige Admin)
Ich hoffe, dass Ihnen das hilft.
Viele Grüße
-Klaus Keppler