GNU/Linux >> Linux の 問題 >  >> Cent OS

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

ComposerはPHPの依存関係マネージャーです(Node.jsのnpmまたはPythonのpipに似ています)。

Composerは、プロジェクトが依存する必要なすべてのPHPパッケージを取得し、それらを管理します。 Laravel、Symfony、Drupal、Magento2などの最新のPHPフレームワークとプラットフォームすべてで使用されています。

このチュートリアルでは、CentOS7マシンにComposerをインストールして使用する手順を説明します。

前提条件#

このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。

  • sudo権限を持つユーザーとしてログイン
  • CentOS7システムにPHP7をインストールします。

CentOSへのComposerのインストール#

次の手順では、CentOS7システムにComposerをインストールする方法について説明します。

  1. まず、PHP CLI(コマンドラインインターフェイス)パッケージと他のすべての依存関係を次のコマンドでインストールします。

    sudo yum install php-cli php-zip wget unzip
  2. PHP CLIがインストールされたら、次のコマンドを使用してComposerインストーラスクリプトをダウンロードします。

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

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

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

    次のwgetコマンドは、最新のComposerインストーラーの予想される署名をComposerのGithubページからダウンロードし、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

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

  5. 最後のステップは、インストールを確認することです:

    composer

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

    ______
    / ____/___  ____ ___  ____  ____  ________  _____
    / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
    / /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
    \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                        /_/
    Composer version 1.8.5 2019-04-09 17:46:47
    
    Usage:
        command [options] [arguments]

    この時点で、CentOSシステムにComposerが正常にインストールされています。

プロジェクトごとにComposerをインストールする場合は、次のコマンドphp composer-setup.phpを使用します。 composer.pharという名前のファイルが作成されます 現在の作業ディレクトリにあります。 ./composer.phar <command>.を実行すると、composerを使用できます。

Composerの使用を開始する#

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

プロジェクトのルートディレクトリとなるディレクトリを作成し、composer.jsonを保持することから始めます。 ファイル。

composer.json ファイルには、PHPの依存関係やその他のメタデータを含むPHPプロジェクトが記述されています。

プロジェクトディレクトリを作成し、それに切り替えます:

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

この例では、carbonというパッケージを使用して現在の時刻を印刷するサンプルアプリケーションを作成します。

次のコマンドを実行して、新しいComposerプロジェクトを初期化し、carbonパッケージをインストールします。

composer require nesbot/carbon
Using version ^2.2 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 3 installs, 0 updates, 0 removals
  - Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)
  - Installing symfony/translation (v4.1.4): Downloading (100%)
  - Installing nesbot/carbon (2.2.0): Downloading (100%)
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を作成します ファイルを作成すると、Carbonとそのすべての依存関係がダウンロードおよびインストールされます。

プロジェクトのディレクトリを一覧表示すると、2つのファイルcomposer.jsonが含まれていることがわかります。 およびcomposer.lock 、およびvendor ディレクトリ。

ls -l
-rw-r--r-- 1 linuxize users   60 Aug 29 00:50 composer.json
-rw-r--r-- 1 linuxize users 6.8K Aug 29 00:50 composer.lock
drwxr-xr-x 5 linuxize users 4.0K Aug 29 00:50 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-09-26 20:08:18

後で、PHPパッケージを更新する場合は、次のコマンドを実行できます。

composer update

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


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

  2. Rocky Linux /Centos8にphpComposerをインストールして使用する方法

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

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

  2. CentOS7にPHP7、7.2、7.3をインストールする方法

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

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

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

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