Phar 文件存根

Phar 的存根是一个简单的 PHP 文件。最小的存根如下

<?php __HALT_COMPILER();

存根至少必须在其结尾包含 __HALT_COMPILER(); 标记。通常,存根将包含以下加载器功能

<?php
Phar
::mapPhar();
include
'phar://myphar.phar/index.php';
__HALT_COMPILER();

Phar 存根的内容没有任何限制,除了必须以 __HALT_COMPILER(); 结尾。PHP 结束标签

?>
可以包含或省略,但在 ; 和结束标签
?>
之间不能超过 1 个空格,否则 Phar 扩展将无法处理 Phar 存档的清单。

在基于 tar 或 zip 的 Phar 存档中,存根存储在 .phar/stub.php 文件中。基于 phar 的 Phar 存档的默认存根包含大约 7k 的代码来提取 Phar 的内容并执行它们。有关更多详细信息,请参见 Phar::createDefaultStub()

phar 别名存储在基于 tar 或 zip 的 Phar 存档中的 .phar/alias.txt 文件中,以纯文本形式存储。

添加注释

用户贡献的注释 1 条注释

Frank Li
1 年前
> 但在 ; 和结束标签之间不能超过 1 个空格

必须是 **正好** 1 个空格,或者 "\n"。
以下是 PHP 如何修剪结束标签。

> seek_for("__HALT_COMPILER();");
> read_3_into(buffer);
> if ((*buffer == ' ' || *buffer == '\n') && *(buffer + 1) == '?' && *(buffer + 2) == '>') {
> do_things.
To Top