Bug #15171 Updated: popen not fully supported
| From: | wez@php.net | Date: | Mon, 29 Apr 2002 10:41:45 +0000 |
| Subject: | Bug #15171 Updated: popen not fully supported | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-6437@lists.php.net to get a copy of this message | ||
ID: 15171
Updated by: wez@php.net
Reported By: mlong@mlong.org
Status: Closed
Bug Type: Feature/Change Request
Operating System: Tru64 UNIX 5.0a
PHP Version: 4.0.6
Assigned To: hholzgra
New Comment:
proc_open is in CVS and will be in PHP 4.3
Previous Comments:
------------------------------------------------------------------------
[2002-04-28 20:08:24] jimw@php.net
proc_open() does this.
------------------------------------------------------------------------
[2002-03-19 16:29:51] phpbug@mrdrew.com
I too would be greatly appreciative for a bi-directional pipe. In my
case I don't need a named pipe since each writer should be paired with
only one reader. Therefore, I prefer to have call like the one you are
talking about where the pipe is essentially a pair of unnamed pipes to
a system command from my PHP script.
------------------------------------------------------------------------
[2002-01-22 16:20:19] mlong@mlong.org
Anything you could come up with would be great. There are times when
you want to spawn a program and both read and write to stdin/stdout.
Without a bidirectional pipe its quite messy to do. None of the other
PHP functions come close to addressing it (exec, system, etc.)
------------------------------------------------------------------------
[2002-01-22 15:10:02] hholzgra@php.net
bidirectional popen() is not portable,
but i'm working on a general pipe()
function ...
------------------------------------------------------------------------
[2002-01-22 14:06:31] mlong@mlong.org
With PHP running under Tru64 UNIX, popen only supports "r" or "w"...it
will not support "r+", "w+", or "rw".
Yet according to the Tru64 popen man page, Tru64 supports bidirectional
pipes and can take rw (unless I am reading it wrong). Yet when I try
it with PHP, it tells me it is an invalid argument.
From the man page:
The popen() function creates a pipe between the calling program and a
shell
command to be executed. It returns a pointer to a FILE structure for
the
stream.
If the type parameter is the value r, the calling program can read
from the
standard output of the command by reading from the returned file
stream. If
the type parameter is the value w, the calling program can write to
the
standard input of the command by writing to the returned file
stream.
Because open files are shared, a type r command can be used as an
input
filter and a type w command as an output filter.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=15171&edit=1