proc_open on windows in CLI - DOS windows

proc_open on windows in CLI - DOS windows

am 09.03.2007 23:55:42 von davidv.net

I need a piece of advice from PHP experts and I'm sure you can help me.
I want to start and then control a process in PHP CLI on Windows.
I decided to use proc_open as it is really powerfull. It works
perfectly but I get a DOS window every time a process is started.
(wich in my case is hundreds of times during the operation).
I tried the Run method of the WScript.Shell object because it has on option to
hide the DOS window but I cannot control the process after I started
it.

I tried the Exec method of the WScript.Shell, I can interact with the
process using the pipes (pretty much the same way proc_open does) but
I cannot hide
the DOS windows.

I prefer using proc_open because it is portable on Linux.

I thought I would solve my problem using the new option : bypass_shell

I tried the following :

$proc_options = array('bypass_shell' => "1");
//print_r($proc_options); //DEBUG
$pipes = array();
$process = proc_open($cmd, $descriptorspec, $pipes,
$current_working_dir, NULL, $proc_options);

But I still get the flashing DOS boxes.

BTW : I also tried $proc_options = array('bypass_shell' => true); but
I get an error : Warning: proc_open(): CreateProcess failed

Do you know how I could use proc_open without this DOS command window ?

I use : PHP 5.2.2-dev (cli) (built: Mar 6 2007 20:08:25)
And : Windows XP Home SP2

Thank very much for your answer.


David V.

--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: proc_open on windows in CLI - DOS

am 10.03.2007 01:07:01 von frank

Try stating the process with php-win.exe.

- Frank

> I need a piece of advice from PHP experts and I'm sure you can help me.
> I want to start and then control a process in PHP CLI on Windows.
> I decided to use proc_open as it is really powerfull. It works
> perfectly but I get a DOS window every time a process is started.
> (wich in my case is hundreds of times during the operation).
> I tried the Run method of the WScript.Shell object because it has on
option to
> hide the DOS window but I cannot control the process after I started
> it.
>
> I tried the Exec method of the WScript.Shell, I can interact with the
> process using the pipes (pretty much the same way proc_open does) but
> I cannot hide
> the DOS windows.
>
> I prefer using proc_open because it is portable on Linux.
>
> I thought I would solve my problem using the new option : bypass_shell
>
> I tried the following :
>
> $proc_options = array('bypass_shell' => "1");
> //print_r($proc_options); //DEBUG
> $pipes = array();
> $process = proc_open($cmd, $descriptorspec, $pipes,
> $current_working_dir, NULL, $proc_options);
>
> But I still get the flashing DOS boxes.
>
> BTW : I also tried $proc_options = array('bypass_shell' => true); but
> I get an error : Warning: proc_open(): CreateProcess failed
>
> Do you know how I could use proc_open without this DOS command window ?
>
> I use : PHP 5.2.2-dev (cli) (built: Mar 6 2007 20:08:25)
> And : Windows XP Home SP2
>
> Thank very much for your answer.
>
>
> David V.
>
> --
> PHP Windows Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: proc_open on windows in CLI - DOS windows

am 10.03.2007 23:12:13 von davidv.net

Frank,

Thank you for your answer.
I am already using php-win.exe.
The DOS console window is not when I start the php script. But the
console window appears only when I call proc_open.

Any other idea for the method I could use to hide this black window ?
Thank you very much.

David V.

> Try stating the process with php-win.exe.
>
> - Frank
>
> > I need a piece of advice from PHP experts and I'm sure you can help me.
> > I want to start and then control a process in PHP CLI on Windows.
> > I decided to use proc_open as it is really powerfull. It works
> > perfectly but I get a DOS window every time a process is started.
> > (wich in my case is hundreds of times during the operation).
> > I tried the Run method of the WScript.Shell object because it has on
> option to
> > hide the DOS window but I cannot control the process after I started
> > it.
> >
> > I tried the Exec method of the WScript.Shell, I can interact with the
> > process using the pipes (pretty much the same way proc_open does) but
> > I cannot hide
> > the DOS windows.
> >
> > I prefer using proc_open because it is portable on Linux.
> >
> > I thought I would solve my problem using the new option : bypass_shell
> >
> > I tried the following :
> >
> > $proc_options = array('bypass_shell' => "1");
> > //print_r($proc_options); //DEBUG
> > $pipes = array();
> > $process = proc_open($cmd, $descriptorspec, $pipes,
> > $current_working_dir, NULL, $proc_options);
> >
> > But I still get the flashing DOS boxes.
> >
> > BTW : I also tried $proc_options = array('bypass_shell' => true); but
> > I get an error : Warning: proc_open(): CreateProcess failed
> >
> > Do you know how I could use proc_open without this DOS command window ?
> >
> > I use : PHP 5.2.2-dev (cli) (built: Mar 6 2007 20:08:25)
> > And : Windows XP Home SP2
> >
> > Thank very much for your answer.
> >
> >
> > David V.
> >
> > --
> > PHP Windows Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
>
>
>
>

--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php