Es passiert häufig, dass sich die PHP-Umgebung auf der Konsole von der des Webservers unterscheidet. Dabei ist die Gefahr groß, ein für z.B. eine andere PHP-Version bereitgestelltes Paket zu installieren. Eventuell werden auch kompilierte Pakete mangels ionCube-Loader abgelehnt. Dies zeigt sich nach der Installation im schlimmsten Fall in einem nicht aufrufbaren System.
Diesen Differenzen kann dadurch vorgebeugt werden, dass falsche Systeminformationen durch eine Angabe in der „composer.json“ simuliert wird:
In der „composer.json“ im Root-Ordner des Projekts dies eintragen:
"config": { "platform": { "php": "7.4.99", "ext-ionCube-Loader": "1.0" } }
In diesen Angaben wird nur die Einstellung aufgenommen, die zu korrigieren ist. Weniger ist mehr.
Beachtet bitte, dass die Versionsnummer „7.4“ gleichbedeutend ist mit „7.4.0“. Ihr solltet die besser näher an den tatsächlich verfügbaren Versionen anlehnen (z.B. „7.4.20“).
Damit wird der Installation vorgegeben, dass die Abhängigkeitsprüfung immer mit der angegebenen Umgebung laufen muss:
- Ein fehlender ionCube-Loader wird also ignoriert.
- Es werden nur Pakete installiert, die für PHP 7.4 freigegeben wurden.
Beide Einstellungen werden unabhängig davon genutzt, was tatsächlich auf der Konsole verfügbar ist.