Phar:PHP文件存档
Phar:PHP文件归档
1. Phar简介
Phar是PHP Archive缩写,将php文件归档到一个文件包。
将一个模块的文件打包成一个phar,这样方便模块整体迁移,只需将phar文件移动过去,其他环境中include即可使用。
类似于java的 .jar 文件。
php 5.3时,为php的C语言扩展,安装php时会默认安装。
在安装目录 bin下面有phar文件,通过 php -m 查看php扩展,也应该能找到。
$ .bin/phar.phar help
2. 创建Phar文件
2.1 修改php.ini配置文件
phar.readonly = 0 这个参数必须设置为0,如果为1,表示phar文档不可写。
phar.require_hash = 1 这个参数为每个phar打包的文件生成一个签名,如果发现签名有问题,则拒绝处理。防止外部注入一些不安全的脚本。
phar.cache_list 允许web server启动时预加载phar文档,提升访问速度。
2.2 创建phar对象
创建my.phar文件
<?phptry{ $p = new Phar(dirname(__FILE__) . "my.phar", 0, 'my.phar');} catch (UnexpectedValueException $e) { die('Could not open my.phar');} catch (BadMethodCallException $e) { echo 'technically, this cannot happen';}
$p->startBuffering();$p['file.txt'] = 'hi'; $p['file2.txt'] = 'there';$p['file3.txt'] = 'babyface';$p['file3.txt']->setMetadata(42);$p['test/time.php'] = file_get_contents('time.php');
2.3 phar文件存根
文件存根是phar最开始运行的一段代码。
用setStub方式来创建
$p->setStub("<?php Phar::mapPhar('myphar.phar');__HALT_COMPILER();");
$p->stopBuffering();
3. Phar文档使用
phar文档很方便的集成到其他应用程序中。使用时跟单个php文件一样看待,直接 include即可。
一般有下面两种方式:
include 'myphar.phar';
include 'phar://myphar.phar/test/time.php';
引入后可以直接使用原php文件中变量。
还可以直接读取:
echo file_get_contents('phar://my.phar/file.txt');
地址:http://blog.csdn.net/yonggang7/article/details/24142725

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写
