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

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

ComposerはPHPの依存関係マネージャーです(npmはNode.jsまたはpipisはPythonになります)。

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

このチュートリアルでは、CentOS 8にComposerをインストールする手順を説明します。急いでファイルの整合性を確認したくない場合は、[Composerのインストール-クイックウェイセクション]まで下にスクロールします。

前提条件#

続行する前に、次の要件を満たしていることを確認してください。

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

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

次の手順を実行して、ComposerをCentOS8にインストールします。

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

    sudo dnf install php-cli php-json 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の公開鍵/署名ページにあるハッシュを使用したハッシュ。

    次の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と表示されます。 。整合性が確認されたら、次の手順に進みます。

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

    sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

    上記のコマンドはcomposerをインストールします システム全体のコマンドとして、すべてのユーザーが利用できます。出力は次のようになります

    All settings correct for using Composer
    Downloading...
    
    Composer (version 1.10.1) successfully installed to: /usr/local/bin/composer
    Use it: php /usr/local/bin/composer

    上記のコマンドはcomposerをインストールします システム全体のコマンドとして、すべてのユーザーが利用できます。

  5. Composerのバージョンを印刷して、インストールを確認します。

    composer -V
    Composer version 1.10.1 2020-03-13 20:34:27

この時点で、CentOSシステムにComposerが正常にインストールされ、使用を開始できます。

Composerのインストール[クイックウェイ]#

次の手順を実行して、CentOS8システムにComposerをすばやくインストールします。

  1. PHP CLIとZipをインストールします:

    sudo dnf install php-cli php-json php-zip curl unzip
  2. カール付きのComposerをダウンロードする:

    curl -sS https://getcomposer.org/installer |php
  3. Composerファイルを/usr/local/binに移動します ディレクトリ:

    sudo mv composer.phar /usr/local/bin/composer

Composerの使用を開始する#

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

プロジェクトのルートディレクトリを作成することから始めて、そこに移動します:

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

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

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

composer require nesbot/carbon
sing version ^2.32 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 0 updates, 0 removals
  - Installing symfony/translation-contracts (v2.0.1): Downloading (connecting..Downloading (100%)         
  - Installing symfony/polyfill-mbstring (v1.15.0): Downloading (100%)         
  - Installing symfony/translation (v5.0.6): Downloading (100%)         
  - Installing nesbot/carbon (2.32.1): 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
3 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

上記の出力からわかるように、Composerはcomposer.jsonという名前のファイルを作成します カーボンとそのすべての依存関係をダウンロードします。

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

ls -l
-rw-rw-r--. 1 vagrant vagrant    60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 vagrant vagrant 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 vagrant vagrant    82 Mar 27 18:06 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が含まれています。 すべてのライブラリを自動ロードするファイル。

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

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

php testing.php

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

Now: 2020-03-27 22:12:26

後で、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. CentOS7にPHPComposerをインストールして使用する方法

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