duanlu9557 2016-11-28 13:34
浏览 139
已采纳

PHP passthru执行状态

I'm trying to use the PHP passthru function to execute an OS command on Linux.

I am using it as follows. The Linux command is just to list files in a directory I know does not exist and then I am just echoing the status to make sure it's not 0.

$osexec = "ls /tp";
$status = 0;

$result = passthru($osexec, $status);

echo $status;

However the status seems to be the entire output of the command including the status number

ls: /tp: No such file or directory
2

Why is this?

  • 写回答

2条回答 默认 最新

  • drzbc6003 2016-11-28 13:53
    关注

    You are seeing stderr plus the $status value. To hide stderr you could do the following:

    // 2> /dev/null to hide stderr
    $osexec = "ls /tp 2> /dev/null";
    $status = 0;
    
    $result = passthru($osexec, $status);
    
    echo $status;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?