溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

PHP工具Composer的安裝與使用方法

發(fā)布時(shí)間:2021-06-29 10:30:43 來(lái)源:億速云 閱讀:404 作者:chen 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容介紹了“PHP工具Composer的安裝與使用方法”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

PHP Composer 安裝

系統(tǒng)需求:

Composer 需要PHP5.3.2+ 以上的環(huán)境來(lái)運(yùn)行。有幾個(gè)敏感的PHP設(shè)置和編譯標(biāo)志也是必需的,但安裝程序會(huì)發(fā)出警告當(dāng)存在任何不兼容的情況。

比如PHP的擴(kuò)展的要求是,安裝或重新編譯php without –disable-phar

為了從源地址安裝軟件包,而不是簡(jiǎn)單的壓縮文件包,您將需要安裝軟件包的版本控制工具,比如git、svn或hg等。

Composer 是兼容多平臺(tái)的,其運(yùn)行適用于Windows,Linux和OSX。

安裝失敗的錯(cuò)誤消息:

curl -sS https://getcomposer.org/installer | PHP 
#!/usr/bin/env php 
some settings on your machine make Composer unable to work properly. 
Make sure that you fix the issues listed below and run this script again:

The phar extension is missing. 
Install it or recompile php without –disable-phar

Your PHP (5.2.9) is too old, you must upgrade to PHP 5.3.2 or higher.

我的本地默認(rèn)開(kāi)發(fā)環(huán)境是PHP 5.2.9,當(dāng)我嘗試在PHP 5.2.9上安裝時(shí),提示版本過(guò)低,需要升級(jí)到PHP 5.3.2 或者更高的版本。

于是我下載XAMPP 1.7.7 usb lite 版本。

E:\USB\Dropbox\phpstorm\php53>E:\USB\xampp_177\php\php.exe -v 
PHP 5.3.8 (cli) (built: Aug 23 2011 11:50:20) 
Copyright (c) 1997-2011 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

XAMPP 1.7.7 下的PHP環(huán)境是5.3.8。確認(rèn)我的PHP環(huán)境大于等于PHP5.3.2后。

PHP 5.3 安裝 Composer

E:\USB\Dropbox\phpstorm\php53>curl -sS https://getcomposer.org/installer | E:\USB\xampp_177\php\php.exe 
#!/usr/bin/env php 
Some settings on your machine may cause stability issues with Composer. 
If you encounter issues, try to change the following:

The openssl extension is missing, which will reduce the security and stability o 
f Composer. 
If possible you should enable it or recompile php with –with-openssl

Downloading…

Composer successfully installed to: E:\USB\Dropbox\phpstorm\php53\composer.phar 
Use it: php composer.phar

注意:

我關(guān)閉了XAMPP 1.7.7 Apache的SSL模塊,所以Composer提示我警告,為了安全因素建議我開(kāi)啟SSL模塊。不開(kāi)啟也不影響使用。
安裝時(shí)的參數(shù) | PHP,一定要更改為真實(shí)的PHP環(huán)境路徑,比如 | E:\USB\xampp_177\php\php.exe
使用Composer為PHP路徑 + 命令,在我們安裝的環(huán)境中,使用方法為:E:\USB\xampp_177\php/php.exe composer.phar 命令。
我安裝的環(huán)境是在Windows下,如果在Linux下,而PHP 5.3 環(huán)境也不在默認(rèn)PHP命令下時(shí),應(yīng)該采用 | /usr/php/53/usr/bin/php,例如:

curl -sS https://getcomposer.org/installer | /usr/php/53/usr/bin/php

安裝完成后,檢查安裝版本。

E:\USB\Dropbox\phpstorm\php53>E:\USB\xampp_177\php/php.exe composer.phar -V 
Composer version 0209bd31a0ac3aeb2a68fc81e2d03c71072bef33

檢查PHP Composer命令:

E:\USB\Dropbox\phpstorm\php53>E:\USB\xampp_177\php/php.exe composer.phar 
  ______ 
 / ____/___ ____ ___ ____ ____ ________ _____ 
/ /  / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ 
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / 
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ 
          /_/ 
Composer version 0209bd31a0ac3aeb2a68fc81e2d03c71072bef33

Usage: 
 [options] command [arguments]

Options: 
 –help      -h Display this help message. 
 –quiet     -q Do not output any message. 
 –verbose    -v Increase verbosity of messages. 
 –version    -V Display this application version. 
 –ansi       Force ANSI output. 
 –no-ansi      Disable ANSI output. 
 –no-interaction -n Do not ask any interactive question. 
 –profile      Display timing and memory usage information 
 –working-dir  -d If specified, use the given directory as working directory 
.

Available commands: 
 about      Short information about Composer 
 archive     Create an archive of this composer package 
 config      Set config options 
 create-project  Create new project from a package into given directory. 
 depends     Shows which packages depend on the given package 
 diagnose     Diagnoses the system to identify common errors. 
 dump-autoload  Dumps the autoloader 
 dumpautoload   Dumps the autoloader 
 help       Displays help for a command 
 init       Creates a basic composer.json file in current directory. 
 install     Installs the project dependencies from the composer.lock file 
if present, or falls back on the composer.json. 
 list       Lists commands 
 require     Adds required packages to your composer.json and installs the 
m 
 run-script    Run the scripts defined in composer.json. 
 search      Search for packages 
 self-update   Updates composer.phar to the latest version. 
 selfupdate    Updates composer.phar to the latest version. 
 show       Show information about packages 
 status      Show a list of locally modified packages 
 update      Updates your dependencies to the latest version according to 
composer.json, and updates the composer.lock file. 
 validate     Validates a composer.json

這樣我們?cè)赑HP5.3環(huán)境下的Composer已經(jīng)安裝完成。

類(lèi)似的方法我們也可以安裝PHP 5.4的環(huán)境上。

PHP 5.4 安裝 Composer

下載XAMPP 1.8.1 usb lite 版本,將得到PHP5.4.7環(huán)境。

E:\USB\Dropbox\phpstorm\php53>E:\USB\xampp_181\php\php.exe -v 
PHP 5.4.7 (cli) (built: Sep 12 2012 23:48:31) 
Copyright (c) 1997-2012 The PHP Group 
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

確定版本高于PHP 5.3.2 后,開(kāi)始安裝:

E:\USB\Dropbox\phpstorm\php54>curl -sS https://getcomposer.org/installer | E:\USB\xampp_181\php\php.exe 
#!/usr/bin/env php 
Some settings on your machine may cause stability issues with Composer. 
If you encounter issues, try to change the following:

The openssl extension is missing, which will reduce the security and stability o 
f Composer. 
If possible you should enable it or recompile php with –with-openssl

Downloading…

Composer successfully installed to: E:\USB\Dropbox\phpstorm\php54\composer.phar 
Use it: php composer.phar

安裝完成后,檢查安裝版本。

E:\USB\Dropbox\phpstorm\php54>E:\USB\xampp_181\php/php.exe composer.phar -V 
Composer version 0209bd31a0ac3aeb2a68fc81e2d03c71072bef33

這樣,PHP 5.4 環(huán)境下的Composer也安裝成功了。

PHP Composer 使用

這里我只簡(jiǎn)單演示使用PHP Composer安裝Symfony框架。

首先大概講解一下命令的標(biāo)準(zhǔn)格式:

php composer.phar create-project symfony/framework-standard-edition path/ 2.2.1

第一個(gè)參數(shù)PHP為本地PHP開(kāi)發(fā)環(huán)境,指向PHP運(yùn)行命令。
第二個(gè)參數(shù),為composer.phar方式下載。
第三個(gè)參數(shù),為動(dòng)作命令,例如create-project,目的是為了創(chuàng)建一個(gè)新的項(xiàng)目從一個(gè)軟件包到指定目錄。
第四個(gè)參數(shù),為本地安裝的目錄。
第五個(gè)參數(shù),為安裝軟件包的版本。

根據(jù)上述我們?cè)赑HP5.4環(huán)境下安裝的Composer,我們的安裝命令為:

E:\USB\Dropbox\phpstorm\php54>E:\USB\xampp_181\php/php.exe composer.phar create-project symfony/framework-standard-edition E:\USB\xampp_181\htdocs\Symfony 2.2.1

安裝結(jié)果:

Installing symfony/framework-standard-edition (v2.2.1) 
 – Installing symfony/framework-standard-edition (v2.2.1) 
  Downloading: 100%
Created project in E:\USB\xampp_181\htdocs\Symfony 
Loading composer repositories with package information 
Installing dependencies from lock file 
 – Installing doctrine/lexer (v1.0) 
  Downloading: 100%
 – Installing doctrine/annotations (v1.1) 
  Downloading: 100%
 – Installing doctrine/cache (v1.0) 
  Downloading: 100%
 – Installing doctrine/collections (v1.1) 
  Downloading: 100%
 – Installing twig/twig (v1.12.2) 
  Downloading: 100%
 – Installing psr/log (1.0.0) 
  Downloading: 100%
 – Installing doctrine/inflector (v1.0) 
  Downloading: 100%
 – Installing doctrine/common (2.4.0-RC1) 
  Downloading: 100%
 – Installing symfony/symfony (v2.2.1) 
  Downloading: 100%
 – Installing jdorn/sql-formatter (v1.2.0) 
  Downloading: 100%
 – Installing doctrine/dbal (2.3.3) 
  Downloading: 100%
 – Installing doctrine/doctrine-bundle (v1.2.0-beta1) 
  Downloading: 100%
 – Installing doctrine/orm (2.3.3) 
  Downloading: 100%
 – Installing jms/cg (1.0.0) 
  Downloading: 100%
 – Installing phpoption/phpoption (1.2.0) 
  Downloading: 100%
 – Installing jms/parser-lib (1.0.0) 
  Downloading: 100%
 – Installing jms/metadata (1.3.0) 
  Downloading: 100%
 – Installing jms/aop-bundle (1.0.0) 
  Downloading: 100%
 – Installing jms/di-extra-bundle (1.3.0) 
  Downloading: 100%
 – Installing jms/security-extra-bundle (1.4.0) 
  Downloading: 100%
 – Installing sensio/distribution-bundle (v2.2.1) 
  Downloading: 100%
 – Installing sensio/framework-extra-bundle (v2.2.1) 
  Downloading: 100%
 – Installing sensio/generator-bundle (v2.2.1) 
  Downloading: 100%
 – Installing kriswallsmith/assetic (v1.1.0-alpha4) 
  Downloading: 100%
 – Installing symfony/assetic-bundle (v2.1.2) 
  Downloading: 100%
 – Installing monolog/monolog (1.4.1) 
  Downloading: 100%
 – Installing symfony/monolog-bundle (v2.2.0) 
  Downloading: 100%
 – Installing swiftmailer/swiftmailer (v4.3.0) 
  Downloading: 100%
 – Installing symfony/swiftmailer-bundle (v2.2.0) 
  Downloading: 100%
 – Installing twig/extensions (v1.0.0) 
  Downloading: 100%

kriswallsmith/assetic suggests installing leafo/lessphp (Assetic provides the integration with the lessphp LESS compiler) 
kriswallsmith/assetic suggests installing leafo/scssphp (Assetic provides the integration with the scssphp SCSS compiler) 
kriswallsmith/assetic suggests installing leafo/scssphp-compass (Assetic provides the integration with the SCSS compass plugin) 
kriswallsmith/assetic suggests installing ptachoire/cssembed (Assetic provides the integration with phpcssembed to embed data uris) 
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server) 
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required)) 
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server) 
monolog/monolog suggests installing mlehner/gelf-php (Allow sending log messages to a GrayLog2 server) 
monolog/monolog suggests installing raven/raven (Allow sending log messages to a Sentry server) 
Generating autoload files 
Clearing the cache for the dev environment with debug true 
Installing assets using the hard copy option 
Installing assets for Symfony\Bundle\FrameworkBundle into web/bundles/framework 
Installing assets for Acme\DemoBundle into web/bundles/acmedemo 
Installing assets for Sensio\Bundle\DistributionBundle into web/bundles/sensiodistribution

從命令行結(jié)果,我們看到了整個(gè)Symfony框架的安裝過(guò)程與結(jié)果。

PHP Composer 定義依賴(lài)關(guān)系

Composer在使用時(shí)會(huì)自動(dòng)尋找composer.json這個(gè)文件。 composer.json將用來(lái)定義整個(gè)項(xiàng)目的依賴(lài)包。例如:

{ 
  "require": { 
    "monolog/monolog": "1.2.*" 
  } 
}

依賴(lài)包簡(jiǎn)單的說(shuō)明,我們的項(xiàng)目需要一些從1.2開(kāi)始的任何版本的monolog/monolog包。

Composer是PHP中的一個(gè)依賴(lài)關(guān)系管理工具。通過(guò)Composer我們可以在發(fā)布軟件時(shí)節(jié)省大量的文件數(shù)目和控制依賴(lài)包的版本。

PHP Composer 項(xiàng)目

Composer 項(xiàng)目官方:http://getcomposer.org

Composer Github項(xiàng)目:https://github.com/composer/composer

PHP Composer軟件包列表:https://packagist.org/

“PHP工具Composer的安裝與使用方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI