ID:               33147
 Comment by:       justinhead at insightbb dot com
 Reported By:      skissane at iips dot mq dot edu dot au
 Status:           Open
 Bug Type:         Feature/Change Request
 Operating System: *
 PHP Version:      5CVS-2005-05-27
 Assigned To:      sniper
 New Comment:

You can use basic shell tools to test system pty piping.  The following
works on FreeBSD 6.0 but you may have to change the names of your
pty/tty devices for other unixes.

Open up two terminal sessions and become root in both.

In the first one type:
ping localhost | tee /dev/ptyp9

In the second one type:
cat < /dev/ttyp9

Thats it.  If pty's are working you should start seeing the output of
the ping command scroll by in both terminals.


Previous Comments:
------------------------------------------------------------------------

[2005-07-14 08:57:44] [EMAIL PROTECTED]

I'm still waiting for someone to give me a short and reliable piece of
code (shell or C) to test if the functionality is present on the
system..


------------------------------------------------------------------------

[2005-06-20 09:51:30] skissane at iips dot mq dot edu dot au

This is not really a feature/change request -- the feature is already
supported in the code; the configure system just needs to be set up so
the support can be turned on/off.

------------------------------------------------------------------------

[2005-05-30 08:20:43] skissane at iips dot mq dot edu dot au

Updated test case: added SKIPIF (requires Michael Spector's
--enable-pty patch).

--TEST--
Bug #33147 (proc_open: basic test of Unix98 PTYs functionality)
--SKIPIF--
<?php
ob_start();
phpinfo();
$info = ob_get_contents();
ob_end_clean();
if (strpos($info,"--enable-pty") === FALSE) {
        die("skip --enable-pty not specified\n");
}
?>
--FILE--
<?php
// Create a pseudo terminal for the child process
$descriptorspec = array(
   0 => array("pty"),
   1 => array("pty"),
   2 => array("pty")
);
$process = proc_open("echo this is working", $descriptorspec, $pipes);
if (is_resource($process)) {
        echo "OK\n";
        while (!feof($pipes[1]))
                echo fread($pipes[1],1024);
}
?>
--EXPECT--
OK
this is working

------------------------------------------------------------------------

[2005-05-30 03:07:59] skissane at iips dot mq dot edu dot au

Wez (or someone else with CVS comitter rights): why not just check
Michael Spector's patch into CVS?
http://www.mail-archive.com/internals@lists.php.net/msg14854.html.

That should close this issue. No more of your time required :)

------------------------------------------------------------------------

[2005-05-27 01:29:27] skissane at iips dot mq dot edu dot au

Tested with the patch you supplied. (Patch would not apply, so I had to
apply most of it by hand.) My test case works with the test you
supplied, and --enable-pty supplied as a config option.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/33147

-- 
Edit this bug report at http://bugs.php.net/?id=33147&edit=1

Reply via email to