首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在已执行的phar内部获取phar存档元数据?

如何在已执行的phar内部获取phar存档元数据?
EN

Stack Overflow用户
提问于 2016-02-11 16:10:34
回答 1查看 276关注 0票数 7

我已经将PHP应用程序打包到可执行的Phar存档中,并且在一个类中包含了一个方法,该方法应该访问已执行的Phar archive元数据。

我可以获得如下所示的元数据,但是,为了获得元数据,在执行的Phar中加载相同的Phar archive似乎很奇怪。

那么,如何执行Phar的元数据有正确的方法吗?也许读过它,并定义了在Phar's Stub或什么的内部。

代码语言:javascript
复制
<?php
namespace MyPhar;
use \Phar;

class InsideThePhar {
    public function getPharMetaData() {
        $phar_self = new Phar(Phar::running(false));
        $metadata = $phar_self->getMetadata();
        var_dump($metadata);
        exit();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2017-06-27 08:20:30

PHP保存已加载phar文件的缓存,请参阅http://git.php.net/?p=php-src.git;a=blob;f=ext/phar/phar.c;h=65ebce0f0856fc5a90a62d32dd0bb5c00627706f;hb=HEAD#l96

缓存是在打开phar文件时使用的,因此它不像打开一个完全不同的phar文件那么昂贵。

没有,在PHP7.2中,没有更好的方法来获取当前“运行”的phar文件的元数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35344338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档