安装Composer

参考:https://getcomposer.org/doc/01-basic-usage.md

  • composer 是PHP依赖管理工具

  • PHP最低版本要求5.3.2,需要允许openssl扩展,编译时加参数--with-openssl
    搬瓦工下编译参数(小于1G内存要禁用fileinfo,否则会编译失败)

      ./configure \
    --prefix=/usr/local/php \
    --with-mysql=mysqlnd \
    --with-mysqli=mysqlnd \
    --enable-short-tags \
    --disable-posix \
    --with-config-file-path=/usr/local/php/etc \
    --with-config-file-scan-dir=/usr/local/php/etc/conf.d \
    --enable-ftp \
    --with-curl=/usr \
    --with-zlib \
    --enable-xml \
    --with-gd \
    --with-jpeg-dir=/usr/lib \
    --with-png-dir=/usr/lib \
    --with-freetype-dir=/usr/lib \
    --enable-mbstring \
    --enable-sockets \
    --enable-exif \
    --enable-fpm \
    --with-openssl \
    --enable-zip \
    --with-mcrypt \
    --disable-fileinfo

    安装mcrypt扩展时需要系统先安装相关的库
    yum install libmcrypt libmcrypt-devel

  • 执行在线安装脚本

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

    执行结果如下:

          >  #!/usr/bin/env php
    All settings correct for using Composer
    Downloading...
    >
    >Composer successfully installed to: /root/composer.phar
    >Use it: php composer.phar

    移动到path目录

      mv composer.phar /usr/local/bin/composer
    composer -V

    然后可以用composer来安装了

  • 安装依赖
    创建一个composer.json文件,写入相应的包名和版本号,如

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

    执行 composer install,就进入自动安装,安装完成后会生成一个composer.lock文件,里面是特定的版本号名,需要这个文件和composer.json一起提交到版本管理里去。

  • 更新依赖
    composer update
    如果只想更新部分依赖
    composer update monolog/monolog

  • Composer 在线仓库 Packagist

  • 自动加载
    require 'vendor/autoload.php';
    然后在php中这样使用:

          $log = new Monolog\Logger('name');
    $log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING)); $log->addWarning('Foo');

    你甚至可以把你自己的代码加入自动加载中,如

{
"autoload": {
"psr-4": {"Acme\\": "src/"}
}
}

这时src/Foo.php将注册为 Acme\Foo 类,加入上面的内容后,你必须运行composer dump-autoload重新生成autoload.php文件,require之后将返回一个loader实例。可以加入其他命名空间,在测试中很有用。

$loader = require 'vendor/autoload.php';
$loader->add('Acme\\Test\\', __DIR__);

Laravel

安装laravel

有两种方式

  1. 通过 Laravel 安装工具
    composer global require "laravel/installer=~1.1"
    安装后将~/.composer/vendor/bin加入PATH
    export PATH=$PATH:/root/.composer/vendor/bin
    laravel new 命令建立一份全新安装的 Laravel 应用,例如: laravel new blog

  2. 通过 Composer Create-Project

composer create-project laravel/laravel myproject --prefer-dist

另一种安装方法,以安装ratchet为例

composer require cboden/ratchet
#此时将会在当前目录自动生成一个composer.json文件
composer install
#开始安装... 更多可以查看中文官网~~http://docs.phpcomposer.com/

PHP的依赖管理工具----composer的更多相关文章

  1. 有用PHP依赖管理工具Composer新手教程

    PHP依赖管理工具Composer新手教程 Composer 是 PHP 的一个依赖管理工具.它同意你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 依赖管理 Composer 不是一个包管理 ...

  2. PHP依赖管理工具Composer入门

    作者: JeremyWei | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址: http://weizhifeng.net/manage-php-dependency-wi ...

  3. PHP的包依赖管理工具Composer简介

    composer是一个基于项目的依赖管理器,负责将php项目的所依赖的包和库安装在项目的目录中,默认不会不会安装任何数据到全局.他用于取代之前pear工具 1 安装Composer curl -sS  ...

  4. Composer : php依赖管理工具

    原始时代 我记得在当时用php的时候还没有composer,只有个pear,但是不好用呀,还不如直接在互联网上到处复制代码了,更快更不容易出错,当时也没有github这么好的社区工具了 总结如下 代码 ...

  5. composer php依赖管理工具

    #composer是什么 Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. composer出现之前我们php项目依赖管理大部分都是手动 ...

  6. windows下安装php依赖关系管理工具composer

    1.安装Composer Composer是PHP的依赖管理工具之一,官方网站 http://getcomposer.org/ .它支持多种安装方式,对于在win下做开发的草来说,最便捷的方式就是下载 ...

  7. Go 包依赖管理工具 —— govendor

    govendor 是一个基于 vendor 机制实现的 Go 包依赖管理命令行工具.与原生 vendor 无侵入性融合,也支持从其他依赖管理工具迁移,可以很方便的实现同一个包在不同项目中不同版本.以及 ...

  8. yarn依赖管理工具的使用

    Yarn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. 与NPM命令对照 npm install => yarn install npm install --save [pa ...

  9. Golang依赖管理工具:glide从入门到精通使用

    这是一个创建于 2017-07-22 05:33:09 的文章,其中的信息可能已经有所发展或是发生改变. 介绍 不论是开发Java还是你正在学习的Golang,都会遇到依赖管理问题.Java有牛逼轰轰 ...

随机推荐

  1. 不厚道一回->Omnifocus 2 for mac license

    rt, 发个Omnifocus 2 for mac license. 其实Omnifocus 2的价格已经还算亲民了..可惜手贱一下子就找到了,所以没买了..不敢独享,所以分享给需要的人..有能力还是 ...

  2. JQuery DataTables学习

    1.Datatables简单介绍 DataTables是一个jQuery的表格插件.这是一个高度灵活的工具,根据的基础逐步增强,这将添加先进的互动控制.支持不论什么HTML表格. 主要特点: 自己主动 ...

  3. Repeater绑定List泛型对象

    后台: public void BindData()        {            List<WeiBo> DataList = new List<WeiBo>(); ...

  4. java调用本地默认浏览器

    1 http://blog.csdn.net/casularm/article/details/3401018 2

  5. RAD Studio XE8 技术研讨会讲义与范例程序下载

     感谢各位程序猿亲临现场參加我们的公布会,现奉上会议当天的讲义与范例程序供大家參考: 2015/5/25~27北京.深圳 『RAD Studio XE8技术研讨会』 下载讲义:http://pan ...

  6. Linux下画原理图和PCB

    Linux下画原理图和PCB Windows下大名鼎鼎的Allegro和经典的Protel 99SE都是不支持Linux操作系统的.做Linux驱动开发免不了要看一下原理图和PCB. 一般的做法有三种 ...

  7. RAII手法封装相互排斥锁

    CriticalSectionWrapper是一个接口类 class CriticalSectionWrapper { public: // Factory method, constructor d ...

  8. SVN服务端的安装搭建(Linux)

    在CentOS下安装 SVN 大多数 GNU/Linux 发行版系统自带了Subversion ,所以它很有可能已经安装在你的系统上了.可以使用下面命令检查是否安装了. svn --version 如 ...

  9. poj 3537 Crosses and Crosses 博弈论之grundy值

    题意: 给1*n的格子,轮流在上面叉叉,最先画得3个连续叉叉的赢.问先手必胜还是必败. 分析: 求状态的grundy值(也就是sg值),详细怎么求详见代码.为什么这么求要自己想的,仅仅可意会(别人都说 ...

  10. Android开发系列之系统源码目录

    相信大家对于Google给出的那副经典Android架构图非常的熟悉,从下往上依次是Linux内核层(主要是负责硬件管理调度),HAL层(主要是硬件抽象层),libs层+Runtime,Framewo ...