PHP中phar包的使用教程
前言
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中phar包的使用教程
前言 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-&g
-
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 | File
-
python中numpy包使用教程之数组和相关操作详解
前言 大家应该都有所了解,下面就简单介绍下Numpy,NumPy(Numerical Python)是一个用于科学计算第三方的Python包. NumPy提供了许多高级的数值编程工具,如:矩阵数据类型.矢量处理,以及精密的运算库.专为进行严格的数字处理而产生.下面本文将详细介绍关于python中numpy包使用教程之数组和相关操作的相关内容,下面话不多说,来一起看看详细的介绍: 一.数组简介 Numpy中,最重要的数据结构是:多维数组类型(numpy.ndarray) ndarray由两部分组成
-
Python中Numpy包的安装与使用方法简明教程
本文实例讲述了Python中Numpy包的安装与使用方法.分享给大家供大家参考,具体如下: Numpy包的安装 准备工作 1. Python安装 2. pip安装(如使用pip安装命令:pip install numpy) 3. 将pip所在的文件夹添加到环境变量path路径中 4. 下载相应的Numpy安装包,.whl格式.下载链接. 以上准备工作准备完毕之后,进行Numpy安装,先进入whl安装包的存放目录.比如在C盘: cd C:\ 再使用命令行安装: pip install numpy文
-
GO语言中通道和sync包的使用教程分享
目录 GO通道和 sync 包的分享 通道是什么 通道能做什么 通道有哪几种 无缓冲通道 有缓冲的通道 单向通道 如何创建和声明一个通道 声明通道 初始化通道 如何操作 channel 通道异常情况梳理 每一种通道的DEMO实战 无缓冲通道 有缓冲通道 单向通道 关闭通道 总结 GO通道和 sync 包的分享 我们一起回顾一下上次分享的内容: GO协程同步若不做限制的话,会产生数据竞态的问题 我们用锁的方式来解决如上问题,根据使用场景选择使用互斥锁 和 读写锁 比使用锁更好的方式是原子操作,但是
-
利用RJB在Ruby on Rails中使用Java代码的教程
开始之前 关于本教程 Ruby on Rails (Rails) 是用 Ruby 编写的一个 full-stack Web 应用程序框架,而 Ruby 是一种功能丰富的.免费的.可扩展的.可移植的.面向对象的脚本编制语言.Rails 在 Web 应用程序开发人员之间非常流行.通过它,可以快速有效地开发 Web 应用程序,并将其部署到任何 Web 容器中,例如 IBM? WebSphere? 或 Apache Tomcat. 在 Rails 和类似的 Web 应用程序开发框架出现之前,用于 Web
-
SpringMVC 中配置 Swagger 插件的教程(分享)
一.简介 Swagger的目标是为REST API定义一个与语言无关的标准接口,允许用户发现和理解计算机服务的功能,而无需访问源代码.当通过Swagger正确定义时,用户可以用最少量的实现逻辑理解远程服务并与之交互.类似于低级编程所做的接口. 二.实现步骤 1.添加 Maven 依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifact
-
在 CentOS 7 中安装 MySQL 8 的教程详解
准备 本文环境信息: 软件 版本 CentOS CentOS 7.4 MySQL 8.0.x 安装前先更新系统所有包 sudo yum update 安装 1. 添加 Yum 包 wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm # 或者 wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm sudo yum up
-
mysql 5.7.16 ZIP包安装配置教程
本文为大家分享了mysql 5.7.16 ZIP包安装配置教程,供大家参考,具体内容如下 一.登入官网下载免费社区版 1.下载网址 2.点击download 3.下载完毕后新建文件夹命名MySQL(我选择解压到D:\Program Files\MySQL) 4.管理员打开cmd,切换到bin目录下:(或者配置MySQL环境变量) 输入:mysqld --initialize 并回车.(初始化MySQL) 5.执行完毕后我们会看到D:\Program Files\MySQL目录下多出个 6.cm
-
java 中maven pom.xml文件教程详解
maven pom.xml文件教程详解,具体内容如下所示: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.x
随机推荐
- iOS通过多种方式创建控制器
- Mac中Python 3环境下安装scrapy的方法教程
- DIV任意拖动的问题
- JSP 重置按钮清空传入的表单数据实例
- javascript prototype原型详解(比较基础)
- Go中map数据类型3点小知识
- Mysql获取id最大值、表的记录总数等相关问题的方法汇总
- Android获取和读取短信验证码的实现方法
- 图片完美缩放
- 一段在asp中加密与解密对应的函数
- JSP由浅入深(11)—— 标记库
- 狗年新年对联大全
- Lua模拟面向对象示例分享
- SQLServer触发器创建、删除、修改、查看示例代码
- 三步堵死 SQL Server注入漏洞
- Oracle除去数据中的换行符以免读取出现问题
- JavaScript window.location对象
- java自带的工具Jstack截取进程中的堆栈信息
- 基于linux程序中段的学习总结详解
- C#简单创建和删除目录的方法