Phar 文件格式实际上是作为 stub/manifest/contents/signature 布局的,并在其 manifest
中存储了 Phar 归档文件中包含的内容的关键信息。
Phar 清单是一种高度优化的格式,允许对每个文件指定文件压缩、文件权限,甚至用户定义的元数据,例如文件用户或组。所有大于 1 字节的值都以小端字节序存储,API 版本除外,由于历史原因,API 版本以大端字节序存储为 3 个半字节。
所有未使用的标志保留供将来使用,不得用于存储自定义信息。使用每个文件的元数据功能来存储有关特定文件的自定义信息。
Phar 归档清单的基本文件格式如下
大小(字节) | 描述 |
---|---|
4 字节 | 清单长度(字节)(1 MB 限制) |
4 字节 | Phar 中的文件数量 |
2 字节 | Phar 清单的 API 版本(目前为 1.0.0) |
4 字节 | 全局 Phar 位图标志 |
4 字节 | Phar 别名长度 |
?? | Phar 别名(长度基于前一个) |
4 字节 | Phar 元数据长度(0 表示无) |
?? | 序列化后的 Phar 元数据,以 serialize() 格式存储 |
至少 24 * 条目数量 字节 | 每个文件的条目 |