php 中phar包的使用教程详解

yipeiwu_com7年前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

相关文章

codeigniter实现get分页的方法

本文实例讲述了codeigniter实现get分页的方法。分享给大家供大家参考。具体实现方法如下: public function project_search(){ $this...

php中目录操作opendir()、readdir()及scandir()用法示例

本文实例讲述了php中目录操作opendir()、readdir()及scandir()用法。分享给大家供大家参考,具体如下: opendir(path,context)若成功,则该函数...

使用 eAccelerator加速PHP代码的目的

使用 eAccelerator加速PHP代码  eAccelerator 真是一个好东西(它的前身是truck-mmcache)。  简单来讲它是...

php自定义排序uasort函数示例【二维数组按指定键值排序】

本文实例讲述了php自定义排序uasort函数。分享给大家供大家参考,具体如下: 项目需要风险排序,按 I(安全)<L(低风险)<M(中风险)<H(高风险) 的级别来排...

PHP设置进度条的方法

本文实例讲述了PHP设置进度条的方法。分享给大家供大家参考。具体如下: <html> <head> <style type="text/css">...