php怎么获取脚本的返回值0

worktile 其他 195

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在PHP中,可以使用`exec()`函数或`shell_exec()`函数执行系统命令,并获取命令的返回值。具体来说,在Linux/Unix系统中,命令的返回值为0表示执行成功,而非0表示执行失败或出现错误。

    下面是两种获取命令返回值的方法:

    1. 使用`exec()`函数:
    “`php
    $output = null;
    $return_var = null;
    exec(‘your_command’, $output, $return_var);
    echo “返回值: ” . $return_var;
    “`
    上述代码中,`your_command`是你要执行的系统命令,`$output`是执行命令后输出的结果数组,`$return_var`是命令的返回值。通过`$return_var`可以获取到命令的返回值。

    2. 使用`shell_exec()`函数:
    “`php
    $output = shell_exec(‘your_command’);
    echo “返回值: ” . $output;
    “`
    在上述代码中,`your_command`是要执行的系统命令,`shell_exec()`函数会直接返回命令的输出结果,并将其赋值给`$output`变量。这样你就可以通过`$output`获取到命令的返回值。

    需要注意的是,使用这两种方法需要确保你的PHP环境已经开启了相关的函数,并且你在执行系统命令时要谨慎,避免执行危险的命令以保证系统安全。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在PHP中,可以使用`exec()`函数来执行外部命令,并获取其返回值。

    要获取脚本的返回值0,可以按照以下步骤进行操作:

    1. 编写脚本:首先,需要编写一个返回0的脚本。可以使用以下示例代码:
    “`bash
    #!/bin/bash
    exit 0
    “`
    将上述代码保存为一个名为`script.sh`的文件。

    2. 执行脚本:在PHP中,可以使用`exec()`函数来执行脚本,并将返回值存储在一个变量中。例如:
    “`php
    $command = ‘./script.sh’;
    $output = exec($command, $return_value);
    “`
    上述代码中,`$command`变量存储了要执行的脚本的命令,`exec()`函数将执行这个命令,并将输出结果存储在`$output`变量中。

    3. 获取返回值:要获取脚本的返回值,可以通过检查`$return_value`变量的值来实现。如果脚本执行成功并返回0,`$return_value`的值将是一个空数组。如果脚本返回其他值,`$return_value`将包含一个非空数组。例如:
    “`php
    if (empty($return_value)) {
    echo “脚本执行成功,返回值为0。”;
    } else {
    echo “脚本执行失败,返回值为:” . implode(“,”, $return_value);
    }
    “`
    上述代码中,通过检查`$return_value`是否为空,可以判断脚本是否执行成功并返回0。如果`$return_value`为空,说明脚本返回值为0,即成功执行;否则,返回其他值,表示执行失败。

    4. 错误处理:在执行外部脚本时,可能会出现错误。为了处理这些错误,可以使用`proc_open()`函数。这个函数可以执行外部命令,并同时捕获标准输出和标准错误输出。例如:
    “`php
    $descriptorspec = array(
    0 => array(“pipe”, “r”), // 标准输入,可从这个资源读取
    1 => array(“pipe”, “w”), // 标准输出, 可向这个资源写入
    2 => array(“pipe”, “w”) // 标准错误输出, 可向这个资源写入
    );

    $process = proc_open($command, $descriptorspec, $pipes);
    if (is_resource($process)) {
    // 获取标准输出结果
    $output = stream_get_contents($pipes[1]);

    // 获取标准错误输出
    $error_output = stream_get_contents($pipes[2]);

    // 关闭文件句柄
    fclose($pipes[0]);
    fclose($pipes[1]);
    fclose($pipes[2]);

    // 关闭进程
    $return_value = proc_close($process);

    // 判断返回值
    if ($return_value === 0) {
    echo “脚本执行成功,返回值为0。”;
    } else {
    echo “脚本执行失败,返回值为:” . $return_value;
    }
    } else {
    echo “无法执行命令。”;
    }
    “`

    上述代码中,首先定义了一个`$descriptorspec`数组,用于指定输入输出流的类型。然后,通过`proc_open()`函数执行脚本,并将输出结果和错误输出存储在相应的变量中。最后,关闭文件句柄和进程,并根据返回值判断脚本是否执行成功。如果返回值为0,说明脚本执行成功;否则,执行失败。

    通过以上方法,就可以在PHP中获取脚本的返回值0了。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在PHP中,可以使用`exec()`函数或`shell_exec()`函数来获取执行脚本的返回值。返回值为0代表脚本执行成功,非0的返回值代表脚本执行失败或出现错误。
    下面是使用`exec()`函数和`shell_exec()`函数获取脚本返回值的方法:

    一、使用exec()函数:
    1. 使用exec()函数可以执行一个外部程序,并且可以获取它的返回值。
    2. exec()函数返回的是最后一行输出的结果,所以可以利用这个特性来获取返回值。

    “`php
    $script_path = ‘path_to_your_script’; // 脚本的路径

    exec(“php {$script_path}”, $output, $return_value);
    // 执行脚本,$output是输出的内容,$return_value是返回值

    echo “脚本的返回值是:{$return_value}”;
    “`

    二、使用shell_exec()函数:
    1. 使用shell_exec()函数可以直接执行命令,并且将完整的输出返回为一个字符串。
    2. 需要注意的是,shell_exec()函数只能返回最后一行输出的结果,无法获取返回值。

    “`php
    $script_path = ‘path_to_your_script’; // 脚本的路径

    $output = shell_exec(“php {$script_path}”);
    // 执行脚本,将输出的内容保存在$output变量中

    $return_value = substr($output, -2); // 获取最后两个字符,即返回值

    echo “脚本的返回值是:{$return_value}”;
    “`

    以上是两种获取脚本返回值的方法,根据实际需要选择适合的方法来使用。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部