PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了无法使用PHP ssh2_exec()以超级用户特权执行命令大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

无法使PHP ssh2_exec()以超级用户特权执行命令

如果我想在远程Linux机器上的/ var / www内创建一个文件test_folder,下面的代码和ssh命令似乎是正确的,但是由于缺少超级用户权限,我无法创建一个文件夹.我感到困惑的是,我已经包含了用户名和密码凭据,但是我仍然无法执行命令.

$con = new SSH2SFTP($addr,
    new SSH2password($user, $pass),
    22); 
$cmd = "sudo mkdir -p /var/www/test_folder";    
$stream = ssh2_exec($con, $cmd); 
stream_seT_Blocking($stream, truE);
fclose($stream); 

任何帮助,将不胜感激.谢谢.

解决方法:

您的方法大体上是正确的,但可以想象您在ssh进入远程计算机后正在输入linux命令.首次使用“ sudo”时,仍然需要输入密码.

因此,您可以如下修改命令:

$cmd = "echo '" . $pass . "' | sudo -S " . $cmd;

您的代码将如下所示:

$con = new SSH2SFTP($addr,
    new SSH2password($user, $pass),
    22); 
$cmd = "mkdir -p /var/www/test_folder"; 
$cmd = "echo '" . $pass . "' | sudo -S " . $cmd;
$stream = ssh2_exec($con, $cmd); 
stream_seT_Blocking($stream, truE);
fclose($stream); 

希望能帮助到你.

大佬总结

以上是大佬教程为你收集整理的无法使用PHP ssh2_exec()以超级用户特权执行命令全部内容,希望文章能够帮你解决无法使用PHP ssh2_exec()以超级用户特权执行命令所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: