我需要在PHP
的远程web服务器上执行bash script
。请求源自web1
通过PHP并需要在另一个web服务器web2
上执行bash脚本。 web1
可以通过SSH登录到web2
所有本地流量,但通过PHP做SSH实在是很讨厌,运行exec("ssh [email protected] ./bash_script")
似乎是一个可怕的安全想法。另外,试图从bash脚本中公开某种类型的HTTP接口似乎是错误的方法。如何从PHP执行远程bash脚本
建议什么?是否有任何跨语言和远程执行库或框架?
想到我可以在Node.js中编写一个简单的包装来执行bash脚本,并且生活在web2
上。 web1
只是通过HTTP访问node.js包装器。
谢谢。
我相信后者是一个更好的选择。 – Hameed 2013-05-09 04:09:29
为什么不让web1联系web2执行bash_script的php文件? Web2可以通过IP验证它是否为web1。 – 2013-05-09 04:12:56
@DaveChen PHP'exec()'是阻塞的,如果我使用node.js,我可以派发每个请求来运行bash脚本的单独线程。 – Justin 2013-05-09 04:14:46