从文件描述符获取文件指针

时间:2010-04-15 13:54:13

标签: php php-5.3 php-5.2

在PHP 5.2.3中,“fdopen”用于读取/写入由另一个应用程序打开的文件描述符。

fdopen(<fileDescriptorId>,"rw");  //It worked fine with PHP 5.2.3

将PHP升级到5.3.2之后,它正在抛出“undefined reference to 'fdopen' function”。

请在PHP 5.3.2或任何解决方法中建议更换此内容。

3 个答案:

答案 0 :(得分:2)

您的fdopen()是否已由自定义php扩展程序提供? 在linux / unix服务器上

function fdopen($id, $mode) {
  return fopen("/proc/self/fd/".(int)$id, $mode);
}

可能工作。

编辑:请参阅http://linux.die.net/man/5/proc

答案 1 :(得分:1)

从PHP 5.3.6开始(仍然有效且使用PHP 7.2.1),访问文件描述符的正确方法是将fopenphp://fd一起使用:

$fd = 3;
$pipe = fopen("php://fd/{$fd}", 'w');
fwrite($pipe, 'hello!');

答案 2 :(得分:0)

fdopen C语言相关。 PHP中没有这样的功能。我认为你错误输入了PHP的fopen函数,对吧?