
在 Web 开发过程中,有时会遇到需要在服务器端运行系统命令或脚本的情况,比如生成文件、数据处理等任务。PHP 提供了一个 exec() 函数,可以用于执行 Shell 命令。然而,在 HTML 页面中调用此类功能时,存在一定的安全隐患,必须小心使用。
首先,创建一个 HTML 表单,用于触发 Shell 脚本的执行。
<code> <title>Execute Shell Script</title></code>
说明:
接下来,编写 PHP 脚本用于接收表单请求并执行 Shell 命令。
立即学习“PHP免费学习笔记(深入)”;
<code><?php // 判断是否提交了表单
if(isset($_POST['runScript'])) {
    // Shell 脚本路径
    $scriptPath = "./bash_script.sh";
    // 执行脚本并获取输出
    $output = [];
    $return_var = 0;
    exec($scriptPath, $output, $return_var);
    // 输出结果
    if ($return_var === 0) {
        echo "Shell script executed successfully!<br?>";
        foreach ($output as $line) {
            echo $line . "<br></br>";
        }
    } else {
        echo "Shell script execution failed with error code: " . $return_var . "<br></br>";
    }
    // 可选:重定向页面
    // header('Location: http://local.server.edu/ABC/abc_test/');
    // exit; // 确保跳转后脚本停止执行
}
?></code>说明:
创建一个简单的测试脚本 bash_script.sh:
<code>#!/bin/bash touch ./test_file.txt echo "Shell script executed!"</code>
说明:
若出现路径错误,可尝试以下方法:
index.php:
<code>
<title>Execute Shell Script</title><?php if(isset($_POST['runScript'])) {
    $scriptPath = "./bash_script.sh";
    $output = [];
    $return_var = 0;
    exec($scriptPath, $output, $return_var);
    if ($return_var === 0) {
        echo "Shell script executed successfully!<br?>";
        foreach ($output as $line) {
            echo $line . "<br></br>";
        }
    } else {
        echo "Shell script execution failed with error code: " . $return_var . "<br></br>";
    }
}
?>
</code>bash_script.sh:
<code>#!/bin/bash touch ./test_file.txt echo "Shell script executed!"</code>
通过本文,你应该已经掌握了如何在 PHP 页面中调用 Shell 脚本的方法。请务必重视安全性,对所有输入进行验证,限制脚本权限,避免潜在风险。
在实际生产环境中,不推荐频繁通过网页直接执行 Shell 命令,建议采用更安全的方式,如异步任务队列或后台服务来处理类似需求。
以上就是通过 PHP 在 HTML 页面中执行 Shell 脚本的详细内容,更多请关注php中文网其它相关文章!
                        
                        HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
                
                                
                                
                                
                                
                                
                                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号