获取php中可更新linux包的列表
我试图通过PHP获取Linux上“可更新”软件包的信息(如“apt get upgrade”中所述) 基本上,我感兴趣的信息是“apt get upgrade”的输出,尤其是行:“29升级,0新安装,0删除,0未升级”。即使您不继续更新,也会出现这样的信息 所以我试着跑获取php中可更新linux包的列表,php,linux,Php,Linux,我试图通过PHP获取Linux上“可更新”软件包的信息(如“apt get upgrade”中所述) 基本上,我感兴趣的信息是“apt get upgrade”的输出,尤其是行:“29升级,0新安装,0删除,0未升级”。即使您不继续更新,也会出现这样的信息 所以我试着跑 print_r(exec('apt-get upgrade')); 但这在PHP中没有输出。有没有办法强迫exec“等待”输出?或者一般来说,exec()的“apt get”被锁定了吗 谢谢你的帮助 安全模式是否已禁用 使用s
print_r(exec('apt-get upgrade'));
但这在PHP中没有输出。有没有办法强迫exec“等待”输出?或者一般来说,exec()的“apt get”被锁定了吗
谢谢你的帮助
apt get upgrade
)$pkgs=shell_exec(“apt-get升级”);echo“$pkgs”代码>
说明:
exec()
只返回输出的最后一行,而shell\u exec()
输出整个流。可以尝试:sudo apt get--只需打印升级即可。此外,用户还需要sudo。在命令行中,它工作了,但从php执行它却没有结果。默认情况下,safe_模式是关闭的(现在仔细检查),我尝试了你的代码片段,但它没有改变-blank pagewell我很确定这是一个权限问题。。您是否尝试过以root用户身份在PHPCLI中运行该代码段,因为我刚刚这么做了,它工作得非常完美!我已经认为这可能是一个权限问题,因为在简单的php脚本中实现包安装是一种安全问题。你知道我如何解决这个权限问题,这样我就可以直接在php文件中运行这个命令了吗?看看这篇文章,答案被标记为正确。。我认为这是目前为止最好的解决方案: