In PHP 5.2.3, "fdopen" was used to read/write to a file descriptor that's open开发者_如何学Ced by another application.
fdopen(<fileDescriptorId>,"rw"); //It worked fine with PHP 5.2.3
After upgrading PHP to 5.3.2, it's throwing "undefined reference to 'fdopen' function".
Please suggest whats the replacement for this in PHP 5.3.2 or any workaround.
As of PHP 5.3.6 (and still valid and working with PHP 7.2.1), the proper method to access a file descriptor is to use fopen with php://fd:
$fd = 3;
$pipe = fopen("php://fd/{$fd}", 'w');
fwrite($pipe, 'hello!');
Could this fdopen() of yours have been provided by a custom php extension?
On a linux/unix server
function fdopen($id, $mode) {
return fopen("/proc/self/fd/".(int)$id, $mode);
}
might work.
edit: see http://linux.die.net/man/5/proc
The fdopen is related to C language. There is no such function in PHP. I think you have mis-typed the PHP's fopen function, right?
加载中,请稍侯......
精彩评论