PHP中Wget的问题

Posted

技术标签:

【中文标题】PHP中Wget的问题【英文标题】:problem with Wget in PHP 【发布时间】:2011-08-01 11:15:41 【问题描述】:

如果我在shell中运行命令它会下载它,shell没有错误

php 页面总是转到 if 语句

我试过shell_exec,结果是一样的

我真的很想通过Wget来完成它

但是如果这是不可能的并且你的解决方案是cURL请告诉它更多细节然后我可以找到如何编码

$flag=system('wget -P /srv/www/htdocs/didebansnort/Downloads http://www.snort.org/reg-rules/snortrules-snapshot-2900.tar.gz/myoinkcodethatmustbesecret
');
if(!$flag)

echo '<script>alert("please try again!")</script>';

如果问题与权限有关,我该如何解决?

建议是开放的 但我必须从命令行下载 如果你认为有可能!

这里是网站

https://www.snort.org/snort-rules/#rules

例如通过右键单击 snortrules-snapshot-2904.tar.gz 我可以拥有 现在我认为 fopen 是不可能的,我怎样才能访问它? 我认为解决方案是“只是”通过 PHP 中的命令行下载 我不知道!

谢谢

【问题讨论】:

如果 'sudo as root' 命令在我的 .php 文件中运行良好,我会非常害怕 首先我没有写 sudo 但后来我想可能是权限问题我可以通过 wwwrun n 编辑它来修复它但现在我的问题是其他的 在进一步阅读中,我不知道你想要达到什么目的,抱歉。您想通过命令行(但在 PHP 中?)或作为网页的一部分(这就是它在 PHP 中的原因)来执行此操作? snort 是一款面向用户的软件 我应该写一些东西然后用户没有在命令行中做任何事情 他们只需点击一个按钮然后他们的规则文件将被更新 他们不需要知道任何代码他们只会点击一个按钮 我写了一个应用程序,让使用 snort 更容易,现在我在更新部分遇到问题 【参考方案1】:

您确定您的 PHP 配置允许您执行 system() 并允许您以 root 身份运行它吗?

【讨论】:

不,如果你尝试几次它会下载它,另外一点可能你的国家在过滤区域我有 *** 你有吗? 我有***,当我尝试几次时可以下载它,这是另一个我可以解决的问题,但现在我的问题只是通过PHP来解决 如果我不确定该如何解决?【参考方案2】:

sudo 以哪个用户身份运行?该用户是否具有对 root 的无密码访问权限(如果是,为什么!)您确实需要避免使用 sudo 位,它很可能会失败。只需确保用户 PHP 以可以写入 /srv/www/htdocs/didebansnort/Downloads 的方式运行(了解其中的风险)并在没有 sudo 的情况下运行 wget。

更好的是,为什么不使用 PHP 的一种内置方法来获取远程文件呢? (fopen?)

【讨论】:

我在没有 sudo 的情况下尝试过但没有结果请告诉我你的 fopen 是什么意思我想在我写的位置下载一个 tar.gz 文件

以上是关于PHP中Wget的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 wget 从网站下载所有文件(但不是 HTML)?

我已经安装了所有的先决条件 - python3(3.8.2), pip3, php, wget. 但还是无法启动HiddenEye.py.面临以下问题

WGET 是不是超时?

wget命令详解

linux wget的时候提示没有到主机的路由

linux-wget和curl