获取php中可更新的linux包列表

时间:2014-04-24 15:20:36

标签: php linux

我试图获取有关"可更新"的信息。 Linux上的软件包(在" apt-get upgrade"中给出)通过PHP。

基本上我感兴趣的信息是" apt-get upgrade" - 尤其是线路:" 29升级,0新安装,0移除,0未升级。"即使您没有继续更新,也会出现。

因此我试图运行

print_r(exec('apt-get upgrade'));

但这在PHP中没有输出。有没有办法强迫执行官等待"等等?输出?或者是" apt-get"一般来说是为exec()锁定了吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

  1. 是否已禁用safe_mode?
  2. 使用shell_exec()而不是exec()
  3. 检查运行脚本的用户的权限(可能需要以root / sudo身份运行apt-get upgrade
  4. 试试这个:
  5. $pkgs = shell_exec('apt-get upgrade'); echo "<pre>$pkgs</pre>";

    说明:

    exec()仅返回输出的最后一行,shell_exec()输出整个流。