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

1、安装Composer

Composer是PHP的依赖管理工具之一,官方网站 http://getcomposer.org/ 。它支持多种安装方式,对于在win下做开发的草来说,最便捷的方式就是下载 Windows 安装包,它会直接帮定义好系统变量,让在任何目录下都可以直接使用 composer 命令。安装包地址点击打开链接。基本是脑下一步即可,期间注意指定正确的 php.exe 文件位置(如下图)。

2、开启 php_openssl 拓展

此步骤需要注意的是,使用集成环境的同学有可能在开启集成环境中 php_openssl 拓展后仍然法正常进行下一步,若在下一步中出现下图提示,那么请手动打开 php 目录下的 php.ini 文件,亲自确认 extension=php_openssl.dll 是否已经开启。

 

 

首先,什么叫composer呢?

    好吧,直接贴百度百科的吧。http://baike.baidu.com/view/1657652.htm

    那么如何在windows下安装composer呢?

    windows下执行命令的方式,不如linux下那么方便。所以我们要先设置php环境变量,让php能通过dos去运行。

    1.我的电脑(右键)->属性->高级系统设置->高级->环境变量,选中PATH,编辑,在后面追加

;D:\xampp\php

    alt+r->cmd打开dos窗口,执行php -v.如果中间报错,提示一系列dll未找到,修改php.ini,

    把extension_dir的值,设置为绝对路径,extension_dir ="D:\xampp\php\ext",我中间还有一个browscap.dll未找到的错误提示,找到php.ini中的browscap,将其值也修改为绝对路径的值

    如果不出错了。执行php -v,应该得到以下结果:

    2.开启ssl扩展

    修改php.ini,打开extension = php_openssl.dll

    3.进入到php目录,执行php命令。

    这里推荐大家通过修改注册表的形式,可以在要进入的文件上右击,直接进入到该文件的cmd命令,而不用每次都执行cd /D D:/xampp/htdocs

    新建文件,粘贴一下代码:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\folder\shell\cmd]
@="CMD快速通道"
[HKEY_CLASSES_ROOT\folder\shell\cmd\command]
@="cmd.exe /k cd %1"


保存为xx.reg,运行的时候,点击是,然后找个文件夹,右击下,就会看到有个cmd快速通道的操作项了、

    回归正题:进入到项目文件htdocs,在dos中输入

    php -r"eval('?>'.file_get_contents('https://getcomposer.org/installer'));"

    稍等片刻,会看到以下提示:

    

    4.在你项目文件中,新建一个xx.bat的文件,编辑内容如下:

@ECHO OFF
SET SUBDIR=%~dp0
php %SUBDIR%\composer.phar %*
    然后执行一下。这个文件,是要把当前的路径定义成composer、当然,你也可以不执行该文件。

    5.到这里,composer就基本安装好了。那么接下来我们要安装扩展包了、

    打开htdocs中的composer.json,输入我们要安装的扩展:

    格式大致如下:

    {
    "require": {
        "chrisboulton/php-resque": "1.2",
        "lisachenko/go-aop-php": "*",
        "monolog/monolog":"1.2.*"
    }
}

    6.如果执行了第四步的文件,直接在htdocs目录下执行composer install

    如果未执行第四步的文件,则需要php composer.phar install

好了,安装到这里就完成了,扩展包,也下载好了。htdocs会多出一个vendor的文件夹,打开之后会发现,多出 chrisboulton,lisachenko,monolog三个文件夹。现在来看看自动加载吧……

我们再需要用到扩展包的地方,require_once ROOT_PATH . 'vendor/autoload.php';

然后直接调用扩展包中的类名即可。

示例如下:

 <?php

require_once ROOT_PATH . 'vendor/autoload.php';//ROOT_PATH是根目录

 

$redis = Resque::redis();//这里直接调用vendor/chrisboulton/php-resque/lib/resque.php的类名,无需引入该文件

var_dump($redis); 

 

这个redis变量,就是php-resque的一个redis类

posted @ 2014-02-18 22:24  午时的海  阅读(2119)  评论(0编辑  收藏  举报