Executing commands may hang on Windows XP for some programs
It's a PHP bug 44942:
https://bugs.php.net/bug.php?id=44942
When executing wmic.exe to fetch software/hardware information, it will hang:
ob_start();
$ret = system("C:\Windows\System32\wbem\wmic.exe path win32_computersystemproduct get uuid");
$output = ob_get_contents();
ob_end_clean();
Tried using WScript.Shell COM object and its method Exec() instead, but it
failed as well.
We may introduce ExecuteCommand function to javascript API.
Another option is to create a helper executable for eg. exec-cmd.exe that would
work around the PHP bug, it would be called like this:
system("exec-cmd.exe \"C:\Windows\System32\wbem\wmic.exe path win32_computersystemproduct get uuid\"");
Original issue reported on code.google.com by [email protected] on 3 Oct 2014 at 3:56
In PHP bug 44942 there is a comment by claudix with a supposedly workaround fix
by making calls to session_start() and session_write_close(), and using
proc_open/proc_close functions instead of system().
Original comment by [email protected] on 3 Oct 2014 at 5:09
A FINAL SOLUTION TO THIS ISSUE. Use a command like this: "echo | command...".
For example:
$output = shell_exec("echo | {$_ENV['SYSTEMROOT']}\System32\wbem\wmic.exe path win32_computersystemproduct get uuid");
if ($output) echo "Command succeeded. Output=".$output;
else echo "Command failed.";
Original comment by [email protected] on 4 Oct 2014 at 6:30
No XP support anymore, right?
The last version that supported XP is the 47.5 release. Some people will still need/ask for XP support, so that 47.5 release will be still provided on Download wiki page for a long time. I am not closing this issue because it is still an issue for those who need to support XP.
Alternatively you could use a NirCmd command-line utility, see: https://github.com/cztomczak/phpdesktop/wiki/Knowledge-Base#how-do-i-call-external-programs-or-commands-asynchronously-in-background-without-waiting-for-them-to-end
@Croydon or you can find inspiration in my example
I have pull example how to create Windows Print Service on start up and on shutdown application just feel free to take a look https://github.com/cztomczak/phpdesktop/pull/305 maybe it's help you to know how it's work for me. I forgot to write settings.json value listen_on with fixed value in README.md example.