phar简介:
phar 归档的概念来自 java™ 技术的 jar 归档,它允许使用单个文件打包应用程序,这个文件中包含运行应用程序所需的所有东西。该文件不同于单个可执行文件,后者通常由编程语言生成,比如 c,因为该文件实际上是一个归档文件而非编译过的应用程序。因此 jar 文件实际上包含组成应用程序的文件,但是考虑到安全性,不对这些文件进行仔细区分。phar 扩展正是基于类似的理念,但是在设计时主要针对 php 的 web 环境。同样,与 jar 归档不同的是,phar 归档可由 php 本身处理,因此不需要使用额外的工具来创建或使用。
phar 扩展对 php 来说并不是一个新鲜的概念。它最初使用 php 编写并被命名为 php_archive,然后在 2005 年被添加到 pear 库。然而在实际中,解决这一问题的纯 php 解决方案非常缓慢,因此 2007 年重新编写为纯 c 语言扩展,同时添加了使用 spl 的arrayaccess 对象遍历 phar 归档的支持。自那时起,人们做了大量工作来改善 phar 归档的性能。
创建 phar
创建 phar 文件需要执行若干步骤。所有步骤需要用到某种形式的 php 命令完成创建,因为不存在用于创建归档的独立工具。
下面这篇文章主要给大家介绍了关于php中phar包使用的相关资料,文中介绍的还是相对比较详细的,需要的朋友们下面来一起看看吧。
前言
php5.3之后支持了类似java的jar包,名为phar。用来将多个php文件打包为一个文件。
首先需要修改php.ini配置将phar的readonly关闭,默认是不能写phar包的,include是默认开启的。
phar.readonly => on
创建一个phar压缩包
<?php
$phar = new phar('swoole.phar');
$phar->buildfromdirectory(dir.'/../', '/\.php$/');
$phar->compressfiles(phar::gz);
$phar->stopbuffering();
$phar->setstub($phar->createdefaultstub('lib_config.php'));
new phar的参数是压缩包的名称。buildfromdirectory指定压缩的目录,第二个参数可通过正则来制定压缩文件的扩展名。
phar::gz表示使用gzip来压缩此文件。也支持bz2压缩。参数修改为 phar::bz2即可。
setsub用来设置启动加载的文件。默认会自动加载并执行 lib_config.php。
执行此代码后,即生成一个swoole.phar文件。
使用phar压缩包
<?php
include 'swoole.phar';
include 'swoole.phar/code/page.php';
使用phar可以很方便的打包你的代码,集成部署到线上机器。
以上就是php 中phar包的使用教程详解的详细内容。