Peerinstallatieproblemen oplossen na installatie vanuit repositories
Pear (PHP Extension en Application Repository) is een handige tool voor het installeren van PHP-extensies en repositories op Linux, Max en Windows. Het maakt het mogelijk om functionaliteit toe te voegen aan PHP, zonder het risico dat code willekeurig op het internet wordt gevonden. In het geval dat u niet op de hoogte bent, kan het toevoegen van code zonder te weten dat de bron betrouwbaar is, een onbeperkt aantal kwetsbaarheden voor uw server openen, aangezien PHP toegang heeft tot andere programma's, hulpprogramma's en bronnen.
Vandaag wilde ik het pakket uit de PECL-repository's installeren. In plaats van rechtstreeks te downloaden, te compileren en te installeren vanuit PECL, besloot ik dat ik door zou gaan en Pear installeren, omdat het een bron is die ik vaak gebruik. Een probleem dat kan optreden na het installeren van Pear is afhankelijkheden missen.
Hier is het proces dat ik gebruikte voor het installeren van Pear op Ubuntu 16.04.
cd ~ / src
wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar
Ik heb optie 9 gewijzigd om het pad naar mijn websites weer te geven, maar anders hoefde ik geen opties te wijzigen.
Om de installatie-run te controleren
peer versie
Naast het vermelden van de verwachte output:
Ik heb ook een (zeer) lange lijst met fouten, een klein onderdeel in de onderstaande afbeelding:
Het probleem heeft betrekking op snmp en de bijbehorende mibs. Om de afhankelijkheden te repareren, is een eenvoudige zaak. Hieronder staat de opdracht om de benodigde afhankelijkheden te installeren:
sudo apt-get install libsnmp-dev libsnmpkit-dev snmp-mibs-downloader
Als dit is voltooid, controleert u de installatie met peerversie, deze keer is de uitvoer:
Nu om Pear te updaten, zodat de repositories toegankelijk zijn:
sudo peer update-kanalen
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken
Iets om in gedachten te houden als u PHP 7.0 gebruikt, veel extensies zijn nog niet bijgewerkt om aan de nieuwe versie te voldoen. Als u van plan bent specifieke modules te installeren, moet u mogelijk een secundaire versie van PHP installeren.
Ik heb een log-module nodig, dus ik zal het voorbeeld peer / log gebruiken.
sudo pear install -alldeps pear / Log
Door -alldeps te gebruiken worden alle aanbevolen optionele modules (zoals peer / SASL2) automatisch geïnstalleerd als onderdeel van de installatie, anders moet u ze afzonderlijk toevoegen. Zoals vermeld op de laatste regel die u kunt toevoegen op specifieke add-ons, die als standaard niet nodig worden geacht, zoals deze
sudo pear installeer MDB2 # mysqli
Als u verdere afhankelijkheden mist, worden deze weergegeven wanneer de compilatie mislukt, evenals alle pakketten die worden aanbevolen, zoals
sudo pear installeer pecl / spidermonkey
Helaas is libjs niet direct downloadbaar als een pakket. Om pakketten te vinden die het zullen leveren, moet je een programma installeren dat van onschatbare waarde is:
sudo apt-get install apt-bestand
sudo apt-bestand update
sudo apt-file jsapi.h
Apt-bestand is een ongelooflijk handig hulpmiddel voor het vinden van afhankelijkheden. Het retourneert een lijst met pakketten die jsapi.h leveren. Download en installeer. Dan kunt u doorgaan en de php-module installeren,
sudo pear installeer pecl / spidermonkey
Geen verdere afhankelijkheidsproblemen, en een leuke kleine module voor uw gebruik.
PRO TIP: Als het probleem zich voordoet met uw computer of een laptop / notebook, kunt u proberen de Reimage Plus-software te gebruiken die de opslagplaatsen kan scannen en corrupte en ontbrekende bestanden kan vervangen. Dit werkt in de meeste gevallen, waar het probleem is ontstaan door een systeembeschadiging. U kunt Reimage Plus downloaden door hier te klikken