php 中phar包的使用教程详解
作者:Lee_吉 发布时间:2024-03-16 15:38:48
标签:php,phar
修改配置文件:
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
来源:http://blog.51cto.com/12173069/2309096


猜你喜欢
- SecureFile功能是oracle 11g中对大对象(LOB)存储格式的完全重新设计实现,原来的LOB存储格式现在通称为BASIXFIL
- 简介这是一个操作数据库(sqlite3)的项目,用PyQt5进行界面封装。此次项目最主要的是,主界面与子界面的交互,一个主界面与三个子界面交
- Python标准库中collections对集合类型的数据结构进行了很多拓展操作,这些操作在我们使用集合的时候会带来很多的便利,多看看很有好
- train_comb 为Dataframe数据:train_comb= train_comb.as_matrix() #得到values的n
- 在程序调试中,有时候需要知道有多少Session变量在使用,她们的值如何?由于Session对象提供一个称为Contents的集合(Coll
- 通过在网络上查找资料和自己的尝试,我认为以下系统参数是比较关键的:(1)、back_log:要求 MySQL 能有的连接数量。当主要MySQ
- 如下所示:def usage(): print(' * usage:') print(' *
- 1.创建tfrecordtfrecord支持写入三种格式的数据:string,int64,float32,以列表的形式分别通过tf.trai
- 今天遇到一个蛮奇怪的问题:当我在控制台中使用 urllib 没问题,但是当我在 vscode 中 .py 文件中导入 urllib 使用时会
- 一、为何使用Tkinter而非PyQt众所周知,在Python中创建图形界面程序有很多种的选择,其中PyQt和wxPython都是很热门的模
- 初识项目打开VS2015,创建Web项目,选择ASP.NET Web Application,在弹出的窗口里选择ASP.NET 5 Webs
- 在linux上想获取文件的元信息,我们需要使用系统调用lstat或者stat。在golang的os包里已经把stat封装成了Stat函数,使
- 本文实例讲述了Python随机数用法。分享给大家供大家参考,具体如下:1. random.seed(int)给随机数对象一个种子值,用于产生
- 本文实例讲述了PHP邮件发送类PHPMailer用法,并详细讲述了其具体的操作步骤。分享给大家供大家参考。具体步骤如下:1.在服务器安装 s
- 继续还是工作中使用colly,不管是官网,还是网上的一些文章(其实90%就是把官网的案例抄过去),都是一样的格式,没有讲到post,测试了几
- 如下所示:def signal_xHz(A, fi, time_s, sample):return A * np.sin(np.linspa
- 如下所示:a[:, np.newaxis] # 给a最外层中括号中的每一个元素加[]a[np.newaxis, :] # 给a最外层中括号中
- 摘录 – Parse JavaScript SDK现在提供了支持大多数异步方法的兼容jquery的Promises模式,那么这意味着什么呢,
- 本文主要介绍了MySQL8.0.27安装过程中卡在Initializing Database中并报错的解决,具有一定的参考价值,具体如下:报
- 原文:http://www.htmldog.com/guides/htmlintermediate/badtags/十六 有害的标签 Bad