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显示指定目录下子目录的方法

本文实例讲述了php显示指定目录下子目录的方法。分享给大家供大家参考。具体实现方法如下: <?php echo "<h2>subdirs in dir<...

PHP获取链表中倒数第K个节点的方法

本文实例讲述了PHP获取链表中倒数第K个节点的方法。分享给大家供大家参考,具体如下: 问题 输入一个链表,输出该链表中倒数第k个结点。 解决思路 注意这个题目是返回节点,而不是返回值。返...

PHP 字符串分割和比较

或者使用strcmp来判断,但是这个能够告诉你两个字符串是否相等,但是无法告诉你在那里不同。 我的思路是单字符串分割为一个个字母(character),这样比较就能精确知道在那个位置不同...

继续收藏一些PHP常用函数第1/2页

复制代码 代码如下: <? function GetIP() { //获取IP if ($_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERV...

解析PHP工厂模式的好处

顾名思义,工厂是可以加工零件的,PHP程序中的工厂模式也有相同的功能,可以方便的使用一个静态的工厂方法来实例化某一个类,那么这样做的好处是什么呢?初学PHP的设计模式,以下是我个人的理解...