科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件在PHP运行外部的系统命令

在PHP运行外部的系统命令

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在PHP运行外部的系统命令。

作者:薛忠胜 来源:yesky 2007年10月27日

关键字: Linux

  • 评论
  • 分享微博
  • 分享邮件
2) 用PoPen()函数打开进程

  上面的方法只能简单地执行命令,却不能与命令交互。但有些时候必须向命令输入一些东西,如在增加Linux的系统用户时,要调用su来把当前用户换到root才行,而su命令必须要在命令行上输入root的密码。这种情况下,用上面提到的方法显然是不行的。

  PoPen()函数打开一个进程管道来执行给定的命令,返回一个文件句柄。既然返回的是一个文件句柄,那么就可以对它读和写了。在PHP3中,对这种句柄只能做单一的操作模式,要么写,要么读;从PHP4 开始,可以同时读和写了。除非这个句柄是以一种模式(读或写)打开的,否则必须调用Pclose( )函数来关闭它。

例子1:
$#@60;?
 $fP=PoPen("/bin/ls -l", "r");
?$#@62;

例子2(本例来自PH P中国联盟网站httP://www.PhPx.com/show.PhP?d=col&i=51):
$#@60;?
/* PHP中如何增加一个系统用户
下面是一段例程,增加一个名字 为james的用户,
root密码是 verygood。仅供参考
*/
$sucommand = "su --login root --command";
$useradd = "useradd ";
$rootPasswd = "verygood";
$user = "james";
$user_add = sPrintf("%s \"%s %s\"",$sucommand,$useradd,$user);
$fP = @PoPen($user_add,"w");
@fPuts($fP,$rootPasswd);
@Pclose($fP);
?$#@62;
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章