php 中phar包的使用教程详解

yipeiwu_com6年前PHP代码库

修改配置文件:

vim /usr/local/php/etc/php.ini

[Phar]
phar.readonly = Off

压缩:

a. 创建压缩脚本:

vim compress.php

<?php
$exts = array(
    '*',
  );
$dir = __DIR__;
$file = 'test.phar';
$phar = new Phar(__DIR__ . '/' . $file, FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::KEY_AS_FILENAME, $file);
$phar->startBuffering();
foreach ($exts as $ext) {
$phar->buildFromDirectory($dir, '/\.' . $ext . '$/');
}
$phar->delete('build.php');
$phar->setStub($phar->createDefaultStub('index.php'));
$phar->stopBuffering();
echo "打包完成".PHP_EOL;

b. 执行压缩脚本:

php /home/lee/php/compress.php


c. 查看压缩包:

ll /home/lee/php

解压:

a. 创建解压脚本:

vim /home/lee/php/depress.php

<?php
define('ROOT',__DIR__);
$dir = ROOT.'/extract';
if(!is_dir($dir)){
@mkdir($dir);
}
$phar = new Phar(ROOT.'/test.phar');
$phar->extractTo($dir,null,true);
echo "解压完成".PHP_EOL;

b. 执行解压脚本:

php /home/lee/php/depress.php


c. 查看解压文件:

ll /home/lee/php/extract

相关文章

PHP ajax 分页类代码

PHP ajax 分页类代码

<?php //本分页类不处理SQL; //大大的加快了分页功能 //http://blog.csdn.net/fkedwgwy //潇湘博客--潇湘 /** 演示 require...

php线性表的入栈与出栈实例分析

本文实例讲述了php线性表的入栈与出栈用法。分享给大家供大家参考。具体如下: <?php $stack = array("Simon", "Elaine"); //定...

浅析PHP程序设计中的MVC编程思想

PHP的MVC编程思想目前已经被广泛使用于各种大型项目的开发,很多成熟的MVC框架也逐渐被大家所熟知并被广泛应用于各类项目中,比较常见的如ThinkPHP、codeigniter、Sym...

PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法

本文实例讲述了PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法。分享给大家供大家参考,具体如下: ICU(International Components fo...

PHP实现简单的新闻发布系统实例

本文实例讲述了PHP实现简单的新闻发布系统。分享给大家供大家参考。具体如下: 本人小白,一直在公司用模板和框架写PHP,发现有时候连基本的sql语句都忘记了,所以有空想把PHP基础复习下...