在 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 或任何解决方法中对此的替代品。
从 PHP 5.3.6 开始(并且仍然有效并与 PHP 7.2.1 一起使用),访问文件描述符的正确方法是使用fopen
php ://fd:
$fd = 3;
$pipe = fopen("php://fd/{$fd}", 'w');
fwrite($pipe, 'hello!');
您的这个 fdopen() 是否可以由自定义 php 扩展提供?
在 linux/unix 服务器上
function fdopen($id, $mode) {
return fopen("/proc/self/fd/".(int)$id, $mode);
}
可能会奏效。
与C语言fdopen
有关。PHP中没有这样的功能。我想你打错了 PHP 的函数,对吧?fopen