int bypass_shell = 0;
int blocking_pipes = 0;
int create_process_group = 0;
+ int create_new_console = 0;
#else
char **argv = NULL;
#endif
create_process_group = 1;
}
}
+
+ item = zend_hash_str_find(Z_ARRVAL_P(other_options), "create_new_console", sizeof("create_new_console") - 1);
+ if (item != NULL) {
+ if (Z_TYPE_P(item) == IS_TRUE || ((Z_TYPE_P(item) == IS_LONG) && Z_LVAL_P(item))) {
+ create_new_console = 1;
+ }
+ }
}
#endif
if (create_process_group) {
dwCreateFlags |= CREATE_NEW_PROCESS_GROUP;
}
-
+ if (create_new_console) {
+ dwCreateFlags |= CREATE_NEW_CONSOLE;
+ }
envpw = php_win32_cp_env_any_to_w(env.envp);
if (envpw) {
dwCreateFlags |= CREATE_UNICODE_ENVIRONMENT;
"TEST_PHP_URI" => $sockUri,
],
[
- "suppress_errors" => TRUE
+ "suppress_errors" => TRUE,
+ 'create_new_console' => TRUE,
]
);
if ($proc === FALSE) {