PHP中phar包的使用教程


Posted in PHP onJune 14, 2017

前言

PHP5.3之后支持了类似Java的jar包,名为phar。用来将多个PHP文件打包为一个文件。

首先需要修改php.ini配置将phar的readonly关闭,默认是不能写phar包的,include是默认开启的。

phar.readonly => On

创建一个phar压缩包

<?php
$phar = new Phar('swoole.phar');
$phar->buildFromDirectory(__DIR__.'/../', '/\.php$/');
$phar->compressFiles(Phar::GZ);
$phar->stopBuffering();
$phar->setStub($phar->createDefaultStub('lib_config.php'));

new Phar的参数是压缩包的名称。buildFromDirectory指定压缩的目录,第二个参数可通过正则来制定压缩文件的扩展名。

Phar::GZ表示使用gzip来压缩此文件。也支持bz2压缩。参数修改为 PHAR::BZ2即可。

setSub用来设置启动加载的文件。默认会自动加载并执行 lib_config.php。

执行此代码后,即生成一个swoole.phar文件。

使用phar压缩包

<?php
include 'swoole.phar';
include 'swoole.phar/code/page.php';

使用phar可以很方便的打包你的代码,集成部署到线上机器。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
php基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
php读取30天之内的根据算法排序的代码
Apr 06 PHP
PHP 小心urldecode引发的SQL注入漏洞
Oct 27 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
Jun 28 PHP
php实现图片添加水印功能
Feb 13 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
php实现改变图片直接打开为下载的方法
Apr 14 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
php表单加入Token防止重复提交的方法分析
Oct 10 PHP
利用php做服务器和web前端的界面进行交互
Oct 31 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
Oct 10 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 #PHP
PHP中关键字interface和implements详解
Jun 14 #PHP
详解php中的implements 使用
Jun 13 #PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
Jun 13 #PHP
php 中的closure用法详解
Jun 12 #PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 #PHP
PHP正则删除HTML代码中宽高样式的方法
Jun 12 #PHP
You might like
使用PHP生成图片的缩略图的方法
2015/08/18 PHP
Yii2实现UploadedFile上传文件示例
2017/02/15 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
一些技巧性实用js代码小结
2009/10/14 Javascript
33种Javascript 表格排序控件收集
2009/12/03 Javascript
js select常用操作控制代码
2010/03/16 Javascript
javaScript checkbox 全选/反选及批量删除
2010/04/28 Javascript
50款非常棒的 jQuery 插件分享
2012/03/29 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
AngularJS 自定义指令详解及示例代码
2016/08/17 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
python中zip和unzip数据的方法
2015/05/27 Python
python统计文本文件内单词数量的方法
2015/05/30 Python
浅析Python中yield关键词的作用与用法
2016/11/29 Python
Python比较2个时间大小的实现方法
2018/04/10 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
综治工作心得体会
2014/09/11 职场文书
2014年租房协议书范本
2014/10/30 职场文书
2014年班长个人工作总结
2014/11/14 职场文书
2016年党风廉政建设承诺书
2016/03/25 职场文书
Python词云的正确实现方法实例
2021/05/08 Python
pytorch fine-tune 预训练的模型操作
2021/06/03 Python
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android