PHP Conference Japan 2024

Phar::createDefaultStub

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::createDefaultStub创建 Phar 文件格式特定的存根

描述

final public static Phar::createDefaultStub(?string $index = null, ?string $webIndex = null): string

此方法旨在创建 Phar 文件格式特定的存根,不适用于基于 tar 或 zip 的 Phar 存档。

Phar 存档包含一个引导加载程序或用 PHP 编写的stub,当存档通过 include 在 PHP 中执行时,它会被执行

<?php
include 'myphar.phar';
?>
或通过简单的执行
php myphar.phar

此方法提供了一种简单易用的方法来创建一个存根,该存根将从 Phar 存档运行启动文件。此外,可以为从命令行运行 Phar 存档和通过 Web 服务器运行 Phar 存档指定不同的文件。加载程序存根还会调用Phar::interceptFileFuncs() 以便于捆绑访问文件系统的 PHP 应用程序。如果不存在 phar 扩展,加载程序存根将把 Phar 存档提取到临时目录,然后对文件进行操作。一个关闭函数会在退出时删除临时文件。

参数

index

如果从命令行访问,则在 Phar 存档中运行的相对路径

webIndex

如果通过 Web 浏览器访问,则在 Phar 存档中运行的相对路径

返回值

返回一个字符串,其中包含自定义引导加载程序(存根)的内容,该加载程序允许创建的 Phar 存档在启用或未启用 Phar 扩展的情况下工作。

错误/异常

如果任一参数长度超过 400 字节,则抛出UnexpectedValueException

变更日志

版本 描述
8.0.0 indexwebIndex 现在可以为空。

范例

示例 #1 Phar::createDefaultStub() 示例

<?php
try {
$phar = new Phar('myphar.phar');
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (
Exception $e) {
// 处理错误
}
?>

参见

  • Phar::setStub() - 用于设置 Phar 存档的 PHP 加载程序或引导存根
  • Phar::getStub() - 返回 Phar 存档的 PHP 加载程序或引导存根

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top