3

我已经设置了一个 vfsstream 块设备,我正在尝试调用file_get_contents()它。但是调用vfsStreamWrapper::stream_open失败,因此无法打开流。

这是我的代码:

$this->root = vfsStream::setup('root');
$this->root->addChild(new vfsStreamBlock('test_block_device'));
$this->root->addChild(new vfsStreamFile('not_block_device'));
echo file_get_contents('vfs://root/test_block_device/size');

这是错误:

file_get_contents(vfs://root/test_block_device/size):无法打开流:“org\bovigo\vfs\vfsStreamWrapper::stream_open”调用失败

这是我发现的最接近的问题

然而,他是 phpunit 拆解的一个问题,而我的发生在测试中期。

4

2 回答 2

0

由于我正在测试,我并不关心正在运行的 file_get_contents,只关心它返回的内容。所以即使我没有发现问题。我通过覆盖测试名称空间中的 get_file_contents 来解决我的问题,以返回我想要的内容。

如果有人确实找到了这个问题的答案,我很乐意测试他们的答案。

于 2015-02-03T18:31:58.427 回答
0

从文档看来,您需要在读取之前向块设备添加一些内容:https ://github.com/mikey179/vfsStream/wiki/BlockDevices

于 2015-02-05T17:12:26.913 回答