PHP管理依赖(dependency)关系工具 Composer 安装与使用_php技巧

PHP Composer 安装

系统需求:

Composer 需要PHP5.3.2+ 以上的环境来运行。有几个敏感的PHP设置和编译标志也是必需的,但安装程序会发出警告当存在任何不兼容的情况。

比如PHP的扩展的要求是,安装或重新编译php without –disable-phar

为了从源地址安装软件包,而不是简单的压缩文件包,您将需要安装软件包的版本控制工具,比如git、svn或hg等。

Composer 是兼容多平台的,其运行适用于Windows,Linux和OSX。

安装失败的错误消息:

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.

我的本地默认开发环境是PHP 5.2.9,当我尝试在PHP 5.2.9上安装时,提示版本过低,需要升级到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环境是5.3.8。确认我的PHP环境大于等于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

注意:

我关闭了XAMPP 1.7.7 Apache的SSL模块,所以Composer提示我警告,为了安全因素建议我开启SSL模块。不开启也不影响使用。
安装时的参数 | PHP,一定要更改为真实的PHP环境路径,比如 | E:\USB\xampp_177\php\php.exe
使用Composer为PHP路径 + 命令,在我们安装的环境中,使用方法为:E:\USB\xampp_177\php/php.exe composer.phar 命令。
我安装的环境是在Windows下,如果在Linux下,而PHP 5.3 环境也不在默认PHP命令下时,应该采用 | /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

这样我们在PHP5.3环境下的Composer已经安装完成。

类似的方法我们也可以安装PHP 5.4的环境上。

PHP 5.4 安装 Composer

下载XAMPP 1.8.1 usb lite 版本,将得到PHP5.4.7环境。

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 后,开始安装:

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 环境下的Composer也安装成功了。

PHP Composer 使用

这里我只简单演示使用PHP Composer安装Symfony框架。

首先大概讲解一下命令的标准格式:

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

第一个参数PHP为本地PHP开发环境,指向PHP运行命令。
第二个参数,为composer.phar方式下载。
第三个参数,为动作命令,例如create-project,目的是为了创建一个新的项目从一个软件包到指定目录。
第四个参数,为本地安装的目录。
第五个参数,为安装软件包的版本。

根据上述我们在PHP5.4环境下安装的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

安装结果:

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

从命令行结果,我们看到了整个Symfony框架的安装过程与结果。

PHP Composer 定义依赖关系

Composer在使用时会自动寻找composer.json这个文件。 composer.json将用来定义整个项目的依赖包。例如:

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

依赖包简单的说明,我们的项目需要一些从1.2开始的任何版本的monolog/monolog包。

Composer是PHP中的一个依赖关系管理工具。通过Composer我们可以在发布软件时节省大量的文件数目和控制依赖包的版本。

PHP Composer 项目

Composer 项目官方:http://getcomposer.org

Composer Github项目:https://github.com/composer/composer

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 安装
composer
composer 删除依赖、composer 安装依赖、composer 添加依赖、composer管理依赖、composer安装依赖包,以便于您获取更多的相关知识。

时间: 2024-09-25 11:15:17

PHP管理依赖(dependency)关系工具 Composer 安装与使用_php技巧的相关文章

PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)_php技巧

举例来说,假设我们的项目想要使用 monolog 这个日志工具,就需要在composer.json里告诉composer我们需要它: { "require": { "monolog/monolog": "1.*" } } 之后执行: php composer.phar install 好,现在安装完了,该怎么使用呢?Composer自动生成了一个autoload文件,你只需要引用它 require '/path/to/vendor/autoloa

PHP性能分析工具XHProf安装使用教程_php技巧

HProf是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进行profile.基于浏览 器的性能分析用户界面能更容易查看,或是与同行们分享成果.也能绘制调用关系图.在数据收集阶段,它记录调用次数的追踪和包容性的指标弧在动态callgraph的一个程序. 它独有的数据计算的报告/后处理阶段.在数据收集时,XHProfd通过检测循环来处理递归的函数调用,并通过给递归调用中每个深度的调用一个有用的命名来避开

PHP开发环境配置(MySQL数据库安装图文教程)_php技巧

一. MySQL的安装 运行MYSQL安装程序(mysql-essential-5.1.40-win32.msi) 开发环境配置(MySQL数据库安装图文教程)_php技巧-mysql数据库主从配置">   选择安装类型为Custom   点选Change按钮更改安装目录   将安装目录更改为到D盘(可根据自己的系统更改)     点击Install按钮开始安装   安装程序将开始安装MySQL到指定的路径中     安装过程中汇出现一些广告点Next跳过即可.     安装完成后出现以下

从零开始学YII2框架(一)通过Composer安装Yii2框架_php实例

最近在学习PHP,着手找一个能快速上手的框架来学习.一开始看兄弟连视频时候讲师推荐ThinkPHP.于是我选择了ThinkPHP来尝试,这个框架的上手难度系数不大,能快速开发一款应用.适合小型的企业应用.因为是国人开发的,中文支持比较好.有比较全面的文档,官网社区也比较活跃.因为我接触的项目都是用Oracle数据库的,所以我想找一款对Oracle支持比较好的PHP框架,但是ThinkPHP框架对Oracle的支持实在是不好.所以我换了Yii框架来试试对Oracle的支持程度.        Yi

从零开始学YII2框架(二)通过 Composer 安装扩展插件_php实例

目前yii2的扩展还不是很多,截止到今天,在官网一共有33个,不过这些插件中不乏有优秀的扩展插件, 我尝试了几个,发现了一系列好用的Yii2插件,作者是来自印度的krajee团队,他们写的插件都很好用.推荐一下. krajee团队的网站:http://krajee.com,有几个不错的插件可以尝试. 下面来介绍Yii2的插件安装方法.通过Composer安装插件yii2-detail-view. Git 推荐安装Git,Composer安装插件时候会用到Git Clone,Git官方下载网站:传

详解PHP的Yii框架中扩展的安装与使用_php技巧

扩展是专门设计的在 Yii 应用中随时可拿来使用的, 并可重发布的软件包.例如, yiisoft/yii2-debug 扩展在你的应用的每个页面底部添加一个方便用于调试的工具栏, 帮助你简单地抓取页面生成的情况. 你可以使用扩展来加速你的开发过程. 信息:本文中我们使用的术语 "扩展" 特指 Yii 软件包.而用术语 "软件包" 和 "库" 指代非 Yii 专用的通常意义上的软件包.使用扩展 要使用扩展,你要先安装它.大多数扩展以 Compose

PHP识别二维码的方法(php-zbarcode安装与使用)_php技巧

本文实例讲述了PHP识别二维码的方法.分享给大家供大家参考,具体如下: 说明:扩展需要依赖ImageMagick和zbar,安装前先安装这两个软件 1.安装ImageMagick(http://www.imagemagick.org/) yum install ImageMagick.x86_64 ImageMagick-devel.x86_64 2.安装zbar(http://sourceforge.net/projects/zbar/?source=directory) wget http:

Php-Redis安装测试笔记_php技巧

后端开发用到php操作redis,在此将安装测试过程中遇到的问题汇总记录下来,以便以后参考!(系统为ubuntu) 1.redis安装 下载地址:http://download.redis.io/releases/ 解压安装: 复制代码 代码如下: tar -xvf redis-2.8.17.tar.gz make sudo make install 为方便使用,在/usr目录下创建redis目录,讲如下几个文件拷贝到/usr/redis/目录下: 复制代码 代码如下: /yourdir/red

Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法_php技巧

03年的时候就看过一本php的书,那时还是php3,回首四年php的在web开的的前景真还是一片光明啊!三年不见的php在去看已到了php5了,现在算起我真正从写第一个php的WEB开始距今还是有三四个月了,用工作之余正在进行www.kuomart.com网站的写做,回想当初一直用的是Windows2003+IIS6+PHP5.0.7+MYSQL4.1在进行开发,直到昨天机子重了木马,Kav也没查出个所以然,自己找也没有发现什么可疑暴露点,所以干脆重装了一下xp,由于TV1000电视卡只能在xp