PHP8 Phar 文件格式
phar 文件格式从字面上看是 stub/manifest/contents/signature,并且 将 Phar 存档中包含的内容的关键信息存储在其 .manifest
Phar 清单是一种高度优化的格式,允许每个文件 文件压缩、文件权限,甚至用户定义的规范 元数据,例如文件用户或组。存储所有大于 1 字节的值 以 little-endian 字节顺序排列,但 API 版本除外,它 由于历史原因,按 big-endian 顺序存储为 3 个半字节。
所有未使用的标志都保留供将来使用,不得使用 存储自定义信息。使用每个文件的元数据工具 存储有关特定文件的自定义信息。
Phar 存档清单的基本文件格式如下:
大小(以字节为单位) | 描述 |
---|---|
4 字节 | 清单长度(以字节为单位)(限制为 1 MB) |
4 字节 | Phar 中的文件数 |
2 字节 | Phar 清单的 API 版本(当前为 1.0.0) |
4 字节 | 全局 Phar 位图标志 |
4 字节 | Phar 别名的长度 |
?? | Phar 别名(长度基于前一个) |
4 字节 | Phar 元数据的长度(无)0 |
?? | 序列化的 Phar 元数据,以 serialize() 格式存储 |
至少 24 * 条目数字节 | 每个文件的条目 |