Edit report at http://bugs.php.net/bug.php?id=50271&edit=1
ID: 50271 Updated by: paj...@php.net Reported by: RQuadling at GMail dot com Summary: Windows hard coding of CMD / COMMAND.COM rather than envvar(COMSPEC) -Status: Open +Status: Assigned Type: Bug Package: Program Execution Operating System: win32 only - Windows XP SP3 PHP Version: 5.3SVN-2009-11-23 (SVN) -Assigned To: +Assigned To: pajoye Previous Comments: ------------------------------------------------------------------------ [2010-03-26 14:35:39] rquadl...@php.net The following patch has been added/updated: Patch Name: proc_open_COMSPEC.patch Revision: 1269610539 URL: http://bugs.php.net/patch-display.php?bug=50271&patch=proc_open_COMSPEC.patch&revision=1269610539 ------------------------------------------------------------------------ [2010-03-26 14:05:26] rquadl...@php.net The following patch has been added/updated: Patch Name: TSRM_Win32_COMSPEC.patch Revision: 1269608726 URL: http://bugs.php.net/patch-display.php?bug=50271&patch=TSRM_Win32_COMSPEC.patch&revision=1269608726 ------------------------------------------------------------------------ [2009-11-23 13:31:13] j...@php.net FYI: In the future when a bug is clearly windows only, use os prefix 'win32 only -' to preserve my sanity.. ------------------------------------------------------------------------ [2009-11-23 13:15:31] RQuadling at GMail dot com Description: ------------ In http://lxr.php.net/source/TSRM/tsrm_win32.c#52, the shell to execute is hardcoded. This should be retrieved via GetEnvironmentVariable('COMSPEC', ...); As such, any program called cmd.exe (or command.com for older, and now unsupported by PHP, versions of windows) in a directory accessible via the PATH _before_ the actual location of cmd.exe/command.com will be loaded for the shell. The environment variable "COMSPEC" (now known as "ComSpec", but is case insensitive for Windows) by default includes the path. Whilst this is not a series bug, it does mean PHP conforms to other languages and applications that can invoke a console shell via COMSPEC, rather than using a hard-coded name. Considering that PHP doesn't support older versions of windows any longer, the whole test on GetVersion() is also redundant. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=50271&edit=1