Re: Re: PHP hangs when exec'ing SSH

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Richard,
I'm really not sure what you're asking here. I've created a limited access user account on a remote host so that I can kick off some things on the remote host by hitting a web page. Access to the web page is protected via SSL and user authentication. The things which are executed on the remote host are special purpose programs I am building, not general commands, and no place does the web page provide a user direct control over what programs are run.


"su" was only used by me from the command-line to become the same user the web-server runs under in order that I would get the same public/private key authentication under SSH as I do when the script runs as a web page. It is not involved in what the php code runs. Take a look at the bug report to see a completely reduced test-case which reproduces the problem I'm seeing.

--Ross

Richard Lynch wrote:

I actually do care about the return code from the program, as well as
knowing that the program executed and completed successfully, so
background execution is not a valid option.

I tried using system("ssh user@host mycommand > /dev/null 2>&1") and got
the same results.

You are correct that I am using "su" to become the same user that the
web server runs under, after temporarily changing the password file to
give said user a valid shell. I can verify that the shell does not
affect whether this problem occurs or not, and I have determined that
the SSH process is not left lying around after it executes- The remote
command is run, ssh executes, PHP simply never comes back.

Bug link is here: http://bugs.php.net/bug.php?id=22946

At this point I'd love to hear from anyone running a different version
of PHP, OS, or Apache who can actually execute this to find out if they
experience results which are the same or different.



I believe 'su' requires an actual TTY connection or it aborts...

Could be wrong.

"man su"

Why are you doing ssh anyway?

scp, maybe, but...

Sure you're not taking web-based user into and then doing SSH to execute
it on a different server?... [shudder]





[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux