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 或任何解决方法中对此的替代品。

4

3 回答 3

3

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

$fd = 3;
$pipe = fopen("php://fd/{$fd}", 'w');
fwrite($pipe, 'hello!');
于 2018-01-08T05:43:55.357 回答
2

您的这个 fdopen() 是否可以由自定义 php 扩展提供?
在 linux/unix 服务器上

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

可能会奏效。

编辑:见http://linux.die.net/man/5/proc

于 2010-04-15T14:18:10.153 回答
0

C语言fdopen有关。PHP中没有这样的功能。我想你打错了 PHP 的函数,对吧?fopen

于 2010-04-15T14:04:29.143 回答