> 但在 ; 和结束标签之间不能超过 1 个空格
必须是 **正好** 1 个空格,或者 "\n"。
以下是 PHP 如何修剪结束标签。
> seek_for("__HALT_COMPILER();");
> read_3_into(buffer);
> if ((*buffer == ' ' || *buffer == '\n') && *(buffer + 1) == '?' && *(buffer + 2) == '>') {
> do_things.
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
文件中,以纯文本形式存储。