phar php 应用,使用php -phar来理解composer

1. phar是何方神圣?

我们知道C#可以把代码打包成dll文件,java可以打包成jar,

而phar就是php的打包工具,可以将多个php文件打包成一个文件。

首先需要修改php.ini配置将phar的readonly关闭,默认是不能写phar包的,include是默认开启的。

phar.readonly => On ---> 找到phar.readonly 把它设置为off

示例:

新建文件 xx.xx(有无后缀都随意)创建一个phar压缩包

$phar = new Phar('test.phar'); //创建test.phar包

$phar->buildFromDirectory(__DIR__.'/file', '/\.php$/');

$phar->compressFiles(Phar::GZ);

$phar->stopBuffering();

$phar->setStub($phar->createDefaultStub('index.php')); //入口文件

在xx.xx同级目录的file文件中创建  index.php 和 test.php

执行 php   xx.xx

发现报错  ,提示php.ini的设置off没起作用,

我想是否用的wamp集成环境,造成cgi模式和cli模式用的不是同一个php.ini?

执行如下命令查看开启状态及php.ini路径

php -i | findstr /i "phar.readonly"

php -i | find /i "php.ini"

于是修改影响phar.readonly设置的php.ini 重启, 再次执行 php xx.xx 正常生成test.phar文件

执行  test.phar  却没有得到输出?继续如下操作...

创建 test.bat文件 写入

@php test.phar

再次执行 test   成功输出index.php内容。

经过上面对phar的使用,composer的原理也就大致明白了。

附:

win-cmd环境下载安装 composer:

cd   php >bin 目录

php -r "readfile('https://getcomposer.org/installer');" | php

注意: 如果收到 readfile 错误提示,请使用 http 链接或者在 php.ini 中开启 php_openssl.dll 。

php -r "readfile('http://getcomposer.org/installer');" | php -- --disable-tls

然后在 composer.phar 同级目录下新建文件 composer.bat :

C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat

关闭当前的命令行窗口,打开新的命令行窗口进行测试:

composer -v

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值