安装Composer

标签(空格分隔): PHP laravel composer


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 
#开始安装...
- EOF -