GNU/Linux >> Linux の 問題 >  >> Debian

Debian9にPHPComposerをインストールして使用する方法

Composerは、PHPの依存関係マネージャーです(Node.jsのnpmまたはPythonのpipに似ています)。 Composerは、プロジェクトが依存する必要なすべてのPHPパッケージを取得し、それらを管理します。

このチュートリアルでは、Debian9システムにComposerをインストールするために必要な手順を説明します。また、Composerを使用してPHPプロジェクトを作成および管理する方法についても説明します。

前提条件#

このチュートリアルを続行する前に、sudo権限を持つユーザーとしてログインし、Debian9システムにPHPがインストールされていることを確認してください。

Composerのインストール#

以下の手順に従って、DebianシステムにComposerをインストールします。

  1. まず、パッケージインデックスを更新し、次のコマンドを使用して必要なパッケージをインストールします。

    sudo apt updatesudo apt install php-cli php-zip wget unzip
  2. 依存関係がインストールされたら、php cli tollを使用してComposerインストールスクリプトをダウンロードします:

    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

    上記のコマンドは、composer-setup.phpをダウンロードします。 現在の作業ディレクトリにあるファイル。

  3. スクリプトSHA-384を比較して、スクリプトデータの整合性を検証します Composer Public Keys/Signaturesページにある最新のインストーラーハッシュを使用したハッシュ。

    次のwgetコマンドを実行して、ComposerのGithubページから最新のComposerインストーラーの予想される署名をダウンロードし、HASHという名前の変数に保存します。 :

    HASH="$(wget -q -O - https://composer.github.io/installer.sig)"

    インストールスクリプトが破損していないことを確認するには、次のコードをコピーしてコンソールに貼り付けます。

    php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

    ハッシュが一致すると、次の出力が表示されます:

    Installer verified

    ハッシュが一致しない場合は、Installer corruptと表示されます。 。この場合、Composerインストールスクリプトを再ダウンロードし、$HASHの値を再確認する必要があります。 echo $HASHの変数 。インストーラーが確認されたら、次のステップに進むことができます。

  4. 次のコマンドは、Composerを/usr/local/binにインストールします。 ディレクトリ:

    sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
    All settings correct for using Composer
    Downloading...
    
    Composer (version 1.8.5) successfully installed to: /usr/local/bin/composer
    Use it: php /usr/local/bin/composer

    この時点で、DebianシステムにComposerがインストールされています。システム全体のコマンドとしてインストールされ、すべてのユーザーが利用できるようになります。

  5. インストールを確認するには、次のように入力します。

    composer

    上記のコマンドは、Composerのバージョン、コマンド、および引数を出力します。

    ______
    / ____/___  ____ ___  ____  ____  ________  _____
    / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                        /_/
    Composer version 1.8.5 2019-04-09 17:46:47
    
    Usage:
        command [options] [arguments]
プロジェクトごとのComposerインストールを使用する場合は、次のコマンドphp composer-setup.phpを実行します。 composer.pharという名前のファイルが作成されます 現在の作業ディレクトリにあります。 ./composer.phar <command>.を実行すると、composerを使用できます。

Composerの使用を開始する#

DebianシステムにComposerがインストールされたので、Composerを使用してPHPプロジェクトを作成する方法を説明します。

プロジェクトルートとなるディレクトリを作成することから始め、composer.jsonを保持します ファイル。このファイルは、PHPの依存関係やその他のメタデータを含むPHPプロジェクトについて説明しています。

プロジェクトディレクトリを作成し、次のコマンドで切り替えます:

mkdir ~/my-first-composer-projectcd ~/my-first-composer-project

次に、新しいcomposer.jsonを初期化します composer require <package name>が必要です コマンドを実行し、ダウンロードするパッケージを指定します。この例では、carbonというパッケージを使用して現在の時刻を印刷するサンプルアプリケーションを作成します。

次のコマンドを実行して、新しいcomposer.jsonを初期化します。 カーボンパッケージをファイルしてインストールします:

composer require nesbot/carbon
Using version ^1.34 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)         
  - Installing symfony/translation (v3.4.17): Downloading (100%)         
  - Installing nesbot/carbon (1.34.0): Downloading (100%)         
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files

Composerはcomposer.jsonを作成します カーボンとそのすべての依存関係をファイルしてダウンロードしてインストールします。

lsを使用してプロジェクトのディレクトリを一覧表示する場合 コマンドを実行すると、2つのファイルcomposer.jsonが含まれていることがわかります。 およびcomposer.lock 、およびvendor ディレクトリ。

ls -l
-rw-r--r-- 1 linuxize users   60 Oct 16 21:02 composer.json
-rw-r--r-- 1 linuxize users 6851 Oct 16 21:02 composer.lock
drwxr-xr-x 5 linuxize users 4096 Oct 16 21:02 vendor

  • vendor -プロジェクトの依存関係が保存されているディレクトリ。
  • composer.lock -パッケージのバージョンを含む、インストールされているすべてのパッケージのリストを含むファイル。
  • composer.json --PHPプロジェクトとすべてのPHP依存関係を説明するファイル。
ComposerリポジトリPackagistでPHPパッケージを検索できます。

Composerは、requireを必要とせずにPHPクラスを使用できるようにする自動ロード機能を提供します またはinclude ファイル。

testing.phpという名前のファイルを作成します 次のコードを貼り付けます:

<?php

require __DIR__ . '/vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());

コードを1行ずつ分析してみましょう。

開始phpタグの後の最初の行には、vendor/autoload.phpが含まれています。 Composerによって自動的に生成されたファイル。このファイルは、必要なすべてのライブラリを自動ロードします。

次に、Carbon\Carbonのエイリアスを作成します Carbonとして 最後の行では、Carbon nowを使用して現在の時刻を印刷しています。 メソッド。

次のように入力してスクリプトを実行します:

php testing.php

出力は次のようになります。

Now: 2018-10-16 21:08:45

後で、プロジェクトパッケージを更新する必要がある場合は、次のように入力します。

composer update

上記のコマンドは、インストールされているパッケージの新しいバージョンをチェックし、新しいバージョンが見つかり、バージョンの制約がcomposer.jsonで指定されたものと一致するかどうかを確認します。 、Composerがパッケージを更新します。


Debian
  1. DebianLinuxにPHPComposerをインストールする方法

  2. Debian11にAnsibleをインストールして使用する方法

  3. Debian11BullseyeにPHPComposerをインストールして使用する方法

  1. Ubuntu16.04にPHPComposerをインストールして使用する方法

  2. Ubuntu18.04にPHPComposerをインストールして使用する方法

  3. PHPComposerをDebian8にインストールする方法

  1. CentOS7にPHPComposerをインストールして使用する方法

  2. Debianバックポートをインストールして使用する方法

  3. Ubuntu20.04にPHPComposerをインストールして使用する方法