0

如果我在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>';
}

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

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

这是网站

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

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

谢谢

4

2 回答 2

0

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

于 2011-08-01T11:17:49.303 回答
0

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

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

于 2011-08-01T11:23:30.190 回答