PHP phar://


简介

phar:// 流包装器在 5.3.0 之后的 PHP 版本中均可用。Phar 的意思是 PHP 归档。它用于分发 PHP 应用程序或库,并作为标准的 PHP 文件执行。phar:// 包装器支持使用 fopen() 打开文件进行读取/写入、重命名以及目录流操作 opendir() 以及创建和删除目录。

Phar 类允许将包含在目录中的应用程序资源打包到 phar 归档文件中。为了执行读取操作,这个归档文件被放置在 phar:// 包装器中

构建 phar 归档文件

首先,确保 php.ini 中的 phar.readonly 设置为 0。然后,创建一个名为 src 的文件夹,将应用程序的所有资源放入其中。创建 index.php 文件

<?php
echo "phar application started";
?>

使用 Phar 类的对象来使用 buildFromDirectory() 方法构建包含 src 文件夹中文件的 phar 归档文件。将 index.php 指定为 setDefaultStub

<?php
// The php.ini setting phar.readonly must be set to 0
$pharFile = 'app.phar';
// clean up
if (file_exists($pharFile)) {
   unlink($pharFile);
}
if (file_exists($pharFile . '.gz')) {
   unlink($pharFile . '.gz');
}
// create phar
$p = new Phar($pharFile);
// creating our library using whole directory
$p->buildFromDirectory('src/');
// pointing main file which requires all classes
$p->setDefaultStub('index.php', '/index.php');
// plus - compressing it into gzip
$p->compress(Phar::GZ);
echo "$pharFile successfully created";
?>

从命令行运行上面的脚本

php create-phar.php

这会在工作目录中创建一个 app.phar。要运行 phar 归档,使用以下命令

php app.phar

使用 phar:// 包装器

<?php
echo file_get_contents('phar://app.phar/index.php');
?>

这将显示 index.php 文件的内容

更新时间:2020-09-22

1K+ 浏览量

开启你的 职业

完成课程获得认证

开始
广告