如何用PHP执行shell 脚本和 shell命令
短信预约 -IT技能 免费直播动态提醒
执行 shell 脚本:
或者首先使用 ssh2_connect 函数连接到远程主机,然后使用 ssh2_auth_password 函数进行身份验证。接下来,使用 ssh2_exec 函数执行 shell 脚本,将其输出流作为结果返回。最后,使用 stream_set_blocking 函数和 stream_get_contents 函数从输出流中读取输出并显示。 或者使用systemsystem('./script.sh')注意:需要安装和启用 libssh2 扩展,才能使用 ssh2_exec 函数。stream_set_blocking 函数是 PHP 中的一个流函数,用于设置流的阻塞模式。在本例中,我们使用 ssh2_exec 函数执行 shell 脚本,并通过流读取其输出。如果不将流设置为阻塞模式,则脚本可能会在输出流未完全读取之前结束,从而导致数据丢失。通过将流设置为阻塞模式,可以确保脚本在完全读取流之前不会结束,从而保证完整的输出。
执行 shell 命令:
system ssh2_exec 有什么区别?
ssh2_exec 函数是 PHP 中的一个扩展函数,可以用来在远程主机上执行命令。它是 libssh2 库的一部分,用于实现 SSH2 协议的功能。
system 函数是 PHP 内置的函数,可以在本地或远程主机上执行命令。与 ssh2_exec 相比,它在功能上更加基础,不支持直接通过 SSH 协议执行命令。
因此,如果你想在远程主机上执行命令,并且需要使用 SSH 协议,那么你应该使用 ssh2_exec 函数。如果只是在本地主机上执行命令,或者不需要使用 SSH 协议,那么可以使用 system 函数。
来源地址:https://blog.csdn.net/weixin_45312916/article/details/128985210
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341