Ich habe eine Webanwendung auf der PPC64LE-Architektur mit CentOS 7 bereitgestellt. Da die Maschine nicht mit Webhosting-Paketen eingerichtet wurde, muss ich diese zuerst einrichten, bevor ich die Anwendung bereitstellen kann. Leider ist das yum
Das Repository bestand aus ziemlich alten Paketen für diese Architektur, und die Installation des neuesten Pakets über RPMs ist ein Albtraum, da die Pakete höllisch viele Abhängigkeiten haben würden. Also beschloss ich, PHP und seine abhängigen Module aus dem Quellcode zu kompilieren. Jetzt ist die Webhosting-Umgebung fertig und ich muss nur noch einige abhängige Pakete installieren, damit die Anwendung funktioniert. Ich werde diskutieren, wie man phpseclib-Pakete wie Net_SSH2 und Net_SFTP auf einer PPC64LE-Architektur mit CentOS 7 installiert.
Ich hatte das Paket namens Net_SSH2 und Net_SFTP von phpseclib in meiner Anwendung verwendet und es funktionierte gut in meiner Entwicklungsumgebung. Die Installation von phpseclib-Paketen auf einer x86-Architektur war super einfach (weil yum alles kann). Da es keine aktuellen Binaries für PPC64LE gab, habe ich PEAR verwendet. PEAR ist die Abkürzung für „PHP Extension and Application Repository“. Es ist ein Repository wiederverwendbarer PHP-Codes.
So habe ich die Net_SSH2- und Net_SFTP-PHP-Pakete mit PEAR installiert.
So installieren Sie die phpseclib-Pakete NET_SSH2 und Net_SFTP
Schritt 1:Stellen Sie sicher, dass der Pear-Paketmanager installiert ist
Wenn Sie PHP aus dem Quellcode installiert haben, dann hätten Sie den PEAR-Paketmanager installiert, es sei denn, einer hat
Wenn Sie PHP mit dem Yum-Repository installieren mussten, installieren Sie PHP-Pear von einer entsprechenden Version Ihres PHP
#yum install php-pear
#pear version PEAR Version: 1.10.11 PHP Version: 7.2.30 Zend Engine Version: 3.2.0 Running on: Linux terra-node-01 4.18.0-80.7.2.el7.ppc64le #1 SMP Thu Sep 12 15:45:05 UTC 2019 ppc64le
Schritt 2:Registrieren Sie einen Kanal, der mit dem PEAR-Installer verwendet werden soll.
#pear channel-discover phpseclib.sourceforge.net Channel "phpseclib.sourceforge.net" is already initialized
Schritt 3:Verfügbare Pakete auflisten
#pear remote-list -c phpseclib Channel phpseclib Available packages: ===================================== Package Version Crypt_AES 1.0.18 Crypt_Base 1.0.18 Crypt_Blowfish 1.0.18 Crypt_DES 1.0.18 Crypt_Hash 1.0.18 Crypt_RC4 1.0.18 Crypt_RSA 1.0.18 Crypt_Random 1.0.18 Crypt_Rijndael 1.0.18 Crypt_TripleDES 1.0.18 Crypt_Twofish 1.0.18 File_ANSI 1.0.18 File_ASN1 1.0.18 File_X509 1.0.18 Math_BigInteger 1.0.18 Net_SCP 1.0.18 Net_SFTP 1.0.18 Net_SSH1 1.0.18 Net_SSH2 1.0.18 System_SSH_Agent 1.0.18
Wie Sie sehen können, sind die Pakete Net_SFTP und Net_SSH2 verfügbar.
Schritt 4:Net_SFTP und Net_SSH2 installieren
Es wird die neueste verfügbare Version installiert.
#pear install phpseclib/Net_SFTP phpseclib/Net_SFTP is already installed and is the same as the released version 1.0.18
#pear install phpseclib/Net_SSH2 phpseclib/Net_SSH2 is already installed and is the same as the released version 1.0.18
Sobald die Pakete installiert sind, starten Sie httpd
neu Dienst
Letzter Schritt:Starten Sie den HTTPD-Dienst neu
#systemctl restart httpd