php 中phar包的使用教程详解

yipeiwu_com5年前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 mvc开发模式的感想

使用mvc开发模式是为了什么?? MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 我...

win7安装php框架Yii的方法

本文讲述了win7安装php框架Yii的方法。分享给大家供大家参考,具体如下: 有人问我win7安装yii老是报错,花了10分钟装了一下,现在做程序的自学能力这么差了?我对框架这些东西不...

php实现的微信红包算法分析(非官方)

php实现的微信红包算法分析(非官方)

本文实例讲述了php实现的微信红包算法。分享给大家供大家参考。具体如下: 最近一直在微信群里体验红包功能,红包类型有两种: 1. 普通红包 2. 拼手气红包 普通红包就不用多解析了,大锅...

php设计模式 Template (模板模式)

继承关系由于自身的缺陷,被专家们扣上了“罪恶”的帽子。“使用委派关系代替继承关系”,“尽量使用接口实现而不是抽象类继承”等等专家警告,让我们这些菜鸟对继承“另眼相看”。其实,继承还是有很...

浅谈PHP的$_SERVER[SERVER_NAME]

问题 微信公众号获取code时的跳转链接,默认是获取当前页面的链接,代码如下: // 说明:获取当前页面的url地址 function GetCurrentpageURL() {...