前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP执行Shell脚本或Bash脚本文件并返回命令输出详情

PHP执行Shell脚本或Bash脚本文件并返回命令输出详情

原创
作者头像
阿峰技术博客
发布2022-10-29 09:22:22
2.2K0
发布2022-10-29 09:22:22
举报
文章被收录于专栏:WordPress技巧WordPress技巧

PHP执行shell脚本或者Bash脚本文件实例。

system和exec函数可能被配置文件禁用,可以通过修改php配置文件删除被禁用的函数。

1.通过system函数执行

使用实例:

代码语言:javascript
复制
<?php
$shell = "dig www.afengblog.com";
echo "<pre>";
system($shell, $status);
echo "</pre>";
//shell命令执行结果和执行返回的状态值的对应关系
$shell = "<font color='red'>$shell</font>";
if ($status) {
    echo "shell命令{$shell}执行失败";
} else {
    echo "shell命令{$shell}成功执行";
}
?>

运行结果:

2.批量执行Shell命令

为了方便管理,可以将所需执行的命令写入至sh文件,然后通过system执行即可。

sh文件以#!/bin/bash开头,指示命令解释器,需要执行的命令每行一个,以;结尾,内容结尾可不带换行,否则status获取的是换行执行的结果(即空),if判断为空值则会输出命令执行失败,但实际上结尾换行符以上的命令是实际执行成功的。

代码语言:javascript
复制
#!/bin/bash
dig www.afengblog.com;
dig afengblog.com;
dig cdn.afengblog.com;

可以将shell 值改为:bash dig.sh

dig.sh改为以上sh文件的相对或绝对路径

如下:

代码语言:javascript
复制
<?php
$shell = "bash dig.sh";
echo "<pre>";
system($shell, $status);
echo "</pre>";
//注意shell命令的执行结果和执行返回的状态值的对应关系
$shell = "<font color='red'>$shell</font>";
if ($status) {
    echo "shell命令{$shell}执行失败";
} else {
    echo "shell命令{$shell}成功执行";
}
?>

执行效果如下:

3.通过exec函数执行

shell执行的命令可以根据以上方法自行diy。

使用实例:

代码语言:javascript
复制
<?php
  $shell = "bash dig.sh";
  exec($shell, $result, $status);
  $shell = "<font color='red'>$shell</font>";
  echo "<pre>";
  if( $status ){
    echo "shell命令{$shell}执行失败";
  } else {
    echo "shell命令{$shell}成功执行, 结果如下<hr>";
    print_r( $result );
  }
  echo "</pre>";
?>

执行效果如下:

原文地址:https://www.afengblog.com/php-executes-shell-script-or-bash-script.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.通过system函数执行
  • 2.批量执行Shell命令
  • 3.通过exec函数执行
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档