diff --git a/ext/standard/exec.c b/ext/standard/exec.c index db4f3f6a390..0f00df26650 100644 --- a/ext/standard/exec.c +++ b/ext/standard/exec.c @@ -322,12 +322,12 @@ PHPAPI char *php_escape_shell_cmd(char *str) case '\x0A': /* excluding these two */ case '\xFF': #ifdef PHP_WIN32 - /* since Windows does not allow us to escape these chars, just remove them */ + /* This is Windows specific for enviromental variables */ case '%': - cmd[y++] = ' '; - break; -#endif + cmd[y++] = '^'; +#else cmd[y++] = '\\'; +#endif /* fall-through */ default: cmd[y++] = str[x];