我有一个小脚本,我正在尝试运行,但它在exec()
<pre><?php
ini_set("display_errors", 1);
$command = "wget --save-cookies cookies.txt \
--post-data '***' \
--keep-session-cookies \
http://site.com/ac_login.php;
wget --load-cookies cookies.txt \
--keep-session-cookies \
-p http://site.com/ac_landing.php;";
exec($command, $output) or die('fail');
foreach ($output as $num => $line) {
echo $num + 1 . ": " . $line . "\n";
}
?></pre>
如果我删除每行末尾的\
,我会收到
1: wget: missing URL
2: Usage: wget [OPTION]... [URL]...
3:
4: Try `wget --help' for more options.
5: wget: missing URL
6: Usage: wget [OPTION]... [URL]...
7:
8: Try `wget --help' for more options.
我尝试将所有命令移动到一行,然后再次死亡。我究竟做错了什么?如何在此脚本中检索错误?为exec
中的结果添加第3个参数将返回空。
我正在使用它作为参考https://stackoverflow.com/a/1432161/763468
这些命令在SSH控制台中运行。
答案 0 :(得分:2)
首先,我认为您不需要在文件名
之后使用分号-p http://site.com/ac_landing.php;
到
-p http://site.com/ac_landing.php
答案 1 :(得分:0)
您是否每次exec
来电尝试一个命令?
exec("wget --save-cookies cookies.txt --post-data '***' --keep-session-cookies http://site.com/ac_login.php");
exec("wget --load-cookies cookies.txt --keep-session-cookies -p http://site.com/ac_landing.php");