Wie verhindere ich, dass YUM eine Abhängigkeit installiert?

Wie verhindere ich, dass YUM eine Abhängigkeit installiert?

Ich versuche, einen CentOS-Server mit mehreren PHP-Versionen einzurichten.
Dies ist mir bisher gelungen, indem ich die REMI-Softwaresammlungen von php56und installiert habe php70und Apache mit verschiedenen Versionen usw. zum Laufen gebracht habe.

So weit, so gut. Das Eintippen phpin die Kommandozeile gibt keine Informationen, aber php56 -vz. B. schon. Bislang ist das das erwartete Verhalten.

Ich habe jetzt ein paar Fragen:
1 – Ich bin jetzt neugierig, was mit Software passiert, die Skripte enthält, die phpdie Befehlszeile verwenden. Wie Composer-Skripte? Wenn die Skripte versuchen, PHP über die Befehlszeile auszuführen, schlagen sie offensichtlich fehl.

1a. Ist es richtig anzunehmen, dass ich beispielsweise zwischen phpund dem tatsächlichen eine symbolische Verbindung herstellen muss?php70

1b. Gibt es noch andere ausführbare Dateien, die ebenfalls verknüpft werden müssen? Ich habe irgendwo gesehen, dass sie pharverknüpft waren, und noch einige andere Dinge. Woher weiß ich, welche Dateien alle verknüpft werden müssen?

2 – Wenn ich versuche, über YUM zu installieren phpmyadmin, wird erwartet, dass php 5.4ein Paket heruntergeladen wird. Das wirft in meinem Kopf viele Fragen auf. Was mache ich in diesem Fall, denn ich möchte 5.4 auf keinen Fall in der Nähe meines Systems haben. Und ich denke, wenn ich Schritt 1a oben ausführe, wird YUM offensichtlich trotzdem den Download der PHP-Abhängigkeit anfordern. Gibt es eine Möglichkeit, das zu verhindern oder YUM möglicherweise zu „erklären“, dass PHP bereits beispielsweise als php70 installiert ist? Oder die Abhängigkeit einfach zu ignorieren?

Entschuldigen Sie, wenn das dumme Fragen sind. Ich habe nur begrenzte Erfahrung mit Linux und verstehe definitiv nicht genug von YUM. Außerdem ist dies das erste Mal, dass ich mit einem Problem mit mehreren Versionen konfrontiert bin. Danke!


AKTUALISIEREN:

Ich verstehe, dass ich die versionsspezifischen Pakete installiert habe und das ist hauptsächlich beabsichtigt, weil ich mehrere Versionen für Apache wollte. Ich schätze, die Frage ist, wie man mit anderer Software umgeht, die PHP auf der Befehlszeile ausführen möchte, wie man mit YUM-PHP-Abhängigkeiten umgeht und was der übliche Ansatz für dieses Szenario ist?

Antwort1

Beachten: Sowohl PHP 5.6 als auch 7.0 haben das End of Life erreicht und werden von der Community nur noch unterstützt mitnach bestem Wissen; Ich empfehle wärmstens die VerwendungUnterstützte Versionen(7.1+).

1 – Ich bin jetzt gespannt, was mit Software passiert, die Skripte enthält, die PHP auf der Befehlszeile verwenden.

Da die meisten Skripte "/usr/bin/env php" verwenden, müssen Sie vor dem Ausführen des Skripts einfach die richtige Version aktivieren

module load php71
php -v
composer install

1a. Ist es richtig anzunehmen, dass ich einen symbolischen Link zwischen php und dem eigentlichen php70 erstellen muss?

Ja, es funktioniert, Sie können auch diephp56-SyspathsODERphp70-SyspathsPaket, das die Arbeit für Sie erledigt

2 – Wenn ich versuche, phpmyadmin über YUM zu installieren …

Gepackte Anwendungen basieren auf Standard-PHP und berücksichtigen das installierte SCL nicht.

Bei mehreren Versionen ist die Installation viel einfacher:

  • Standardversion (php-*-Pakete) aus dem remi-php##-Repository
  • alternative Version (php##-php*-Pakete) aus dem Remi-Safe-Repository

Sehen Sie sich dieAnweisungen des Assistenten.

Beachten: Anwendungen im EPEL-Repository (z. B. phpMyAdmin, GLPI, Wordpress, roundcubemail ...) funktionieren nicht mit der neuesten PHP-Version (7+), daher müssen Sie auch die neueste Version aus dem „remi“-Repository nehmen, sofern verfügbar.

verwandte Informationen