Pear(PHP拡張機能およびアプリケーションリポジトリ)は、Linux、Max、およびWindowsにPHP拡張機能およびリポジトリをインストールするための便利なツールです。これにより、インターネット上でランダムにコードが見つかるリスクなしに、PHPに機能を追加できます。 PHPは他のプログラム、ユーティリティ、リソースにアクセスできるため、知らない場合は、ソースが信頼できることを知らずにコードを追加すると、サーバーにいくつもの脆弱性が生じる可能性があります。
今日は、PECLリポジトリからパッケージをインストールしたいと思いました。 PECLから直接ダウンロード、コンパイル、インストールするのではなく、頻繁に使用するリソースであるPearをインストールすることにしました。 Pearのインストール後に発生する可能性のある問題の1つは、依存関係の欠落です。
これは、Ubuntu16.04にPearをインストールするために使用したプロセスです。
cd〜 / src
wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar
Webサイトへのパスを反映するようにオプション9を変更しましたが、それ以外の場合はオプションを変更する必要はありませんでした。
インストールの実行を確認するには
梨バージョン
期待される出力をリストすることに加えて:
また、(非常に)長いエラーのリストがありました。下の画像のごく一部です。
問題には、snmpとそれに付随するmibが関係しています。依存関係を修正するのは簡単なことです。以下は、必要な依存関係をインストールするためのコマンドです。
sudo apt-get install libsnmp-dev libsnmpkit-dev snmp-mibs-downloader
これが完了したら、pearバージョンでインストールを確認します。今回の出力は次のとおりです。
次に、リポジトリにアクセスできるようにPearを更新します。
sudo pearupdate-channels
PHP 7.0を実行している場合は、新しいバージョンに対応するために多くの拡張機能がまだ更新されていないことに注意してください。特定のモジュールをインストールする場合は、PHPのセカンダリバージョンをインストールする必要がある場合があります。
Logモジュールが必要なので、pear / Logの例を使用します。
sudo pear install –alldeps pear / Log
–alldepsを使用すると、推奨されるすべてのオプションモジュール(pear / SASL2など)がインストールの一部として自動的にインストールされます。それ以外の場合は、個別に追加する必要があります。最後の行に記載されているように、このように、デフォルトでは必要ないと見なされる特定のアドオンを追加できます
sudo pear install MDB2#mysqli
それ以上の依存関係が欠落している場合は、コンパイルが失敗したときにそれらが一覧表示されます。また、次のような推奨されるパッケージも一覧表示されます。
sudo pear install pecl / spidermonkey
残念ながら、libjsはパッケージとして直接ダウンロードできません。それを提供するパッケージを見つけるには、非常に貴重なプログラムをインストールする必要があります。
sudo apt-get install apt-file
sudoapt-ファイルの更新
sudo apt-file jsapi.h
Apt-fileは、依存関係を見つけるための驚くほど便利なツールです。 jsapi.hを提供するパッケージのリストを返します。ダウンロードとインストール。次に、先に進んでphpモジュールをインストールできます。
sudo pear install pecl / spidermonkey
これ以上の依存関係の問題はなく、使用するための素敵な小さなモジュールです。
読んだ2分