| Bug #39224 | There is no way to use Unix98 pty on proc_open() | ||||
|---|---|---|---|---|---|
| Submitted: | 21 Oct 2006 9:20pm UTC | Modified: | 24 Oct 2006 8:56am UTC | ||
| From: | joe at asial dot co dot jp | Assigned to: | wez | ||
| Status: | Closed | Category: | Unknown/Other Function | ||
| Version: | 5.1.6 | OS: | ALL | ||
[21 Oct 2006 9:34pm UTC] tony2001@php.net
It has been disabled by Wez intentionally (unfortunately I don't know the exact reason why). Assigned to him, maybe he can add some comments.
[22 Oct 2006 12:15am UTC] wez@php.net
It was disabled because Sascha didn't think the configure check was good enough.
[24 Oct 2006 8:56am UTC] joe at asial dot co dot jp
Following is a part of http://www.php.net/proc_open. "PHP 5 introduces pty support for systems with Unix98 ptys. " If it is not possible to use pty, should we change the document? Or, is there any plan to modify the configure script?

Description: ------------ I cannot compile with support for Unix98 pty. Following is source code from ext/standard/proc_open.c line 64 to 68. #if 0 && HAVE_PTSNAME && HAVE_GRANTPT && HAVE_UNLOCKPT && HAVE_SYS_IOCTL_H && HAVE_TERMIOS_H # include <sys/ioctl.h> # include <termios.h> # define PHP_CAN_DO_PTS 1 #endif I think that '#if 0 && HAVE_PTSNAME ...' is wrong, '#if HAVE_PTSNAME ...' is right. Reproduce code: --------------- $descriptorspec = array( 0 => array("pty"), 1 => array("pty"), 2 => array("pty") ); $cwd = '/tmp'; $env = array('some_option' => 'aeiou'); $process = proc_open('php', $descriptorspec, $pipes, $cwd, $env); Expected result: ---------------- No error. Actual result: -------------- PHP Warning: proc_open(): pty pseudo terminal not supported on this system in xxxx.php on line xx