0

我一直在努力使用 shell_exec PHP 函数和 linux 命令 2 天。简而言之,这是有效的:

shell_exec('/usr/bin/at 09:32 <<EOF
       touch /var/www/website/hello.txt 
EOF'
);

这不会:

shell_exec('/usr/bin/at 09:32 <<EOF
       wget -O - -q -t 1 "http://192.168.56.101/website/test.php?param=hello" >/dev/null 2>&1
EOF'

);

为什么 ?

(注意:上面的代码确实在控制台中工作)

提前致谢。

4

1 回答 1

0

好的,我终于明白了!!

对于那些对 pb 感兴趣的人,wget 命令也需要使用完整路径(即:/usr/bin/wget)来调用。误导我的是 touch 命令不需要它。这很奇怪,但无论如何这里是工作代码:

shell_exec('/usr/bin/at 09:32 <<EOF
       /usr/bin/wget -O - -q -t 1 "http://192.168.56.101/website/test.php?param=hello" >/dev/null 2>&1
EOF'
);
于 2014-08-31T16:10:49.047 回答