php的phar是什么?

phar

要求5.2以上

前言

最近在看composer,是下载了一个composer.phar,然后放到/usr/local/bin目录下,就可以全局使用composer了,然而并不懂phar是什么,还以为是个PHP的扩展,要用phpize编译的,看了这篇文章后才懂韩天峰-php中phar包的使用

创建

php5.3之后支持了类似Java的jar包,名为phar。用来将多个PHP文件打包为一个文件.可以和tar zip相互转化

官网介绍:

In addition to providing this service, the phar extension also provides a file-format abstraction method for creating and manipulating tar and zip files through the PharData class, much as PDO provides a unified interface for accessing different databases.

就是类似pdo的接口,也可以转化成zip tar包

首先要改php.ini里的readonly关闭,默认是不能写phar包的

$phar = new Phar('swoole.phar');//参数是压缩包的名称
//指定压缩的目录,第2个参数通过正则指定压缩文件的扩展名
$phar->buildFromDirectory(__DIR__.'/../','/\.php$/');
//使用gzip来压缩此文件
$phar->compressFiles(Phar::GZ);

$phar->stopBuffering();
//用来设置启动加载的文件。默认会自动加载并执行lib_config.php文件
$phar->setStub($phar->createDefaultStub('lib_config.php'));

使用

include 'swoole.phar';
include 'swoole.phar/code/page.php';

转化成zip

$phar = new Phar('myphar.phar');
$pgz = $phar->convertToExecutable(Phar::TAR, Phar::GZ); // makes myphar.phar.tar.gz

疑问:

回到最初的问题,既然是转成了一个文件,那放在bin目录下,为什么就可以全局使用了呢?

转载于:https://www.cnblogs.com/efan/p/10250984.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值