1

我只想从我的本地主机执行命令。安装在我的系统上的网站复印机 WinHTTrack 工具。当我使用 Windows 命令行执行此命令时。它工作正常。但是使用 PHP 没有结果...

这里有一个代码示例:

<?php

echo exec("C:\Program Files\WinHTTrack\httrack 'http://in.yahoo.com/example_page.html' -O 'save_folder/in.yahoo.com/' '+in.yahoo.com/*' -v");    

?>

更新的问题 你好

使用此代码,我只想在 Windows 上测试 httrack 命令行 exec 以供将来使用。

$url = 'http://myweb.com/index.html';
$dest = '/tmp/';
echo $command = 'C:\Program Files\WinHTTrack\httrack ' .$url. ' -O ' .$dest. ' +myweb.com/* -v';        
echo exec($command, $output,$error); 
print_r($output);
print_r($error);    

输出:数组()

错误:1

失败的。没有结果 :(

但是当我从 Windows 命令行手动运行时

C:\Program Files\WinHTTrack\httrack http://myweb.com/index.html -O /tmp/ +myweb.com/* -v

给我一个准确的结果。请提供任何解决方案。

4

2 回答 2

0

如果启用此功能,请在 php.ini 中查看

disable_functions =exec

并在此省略

还可以看到如下输出:

 exec("my command", $output);
 print_r($output);
于 2013-09-17T05:37:44.023 回答
0

WinHTTrack 的路径包含空格。您需要转义此路径(以及参数),但不是使用 ',而是使用 escapeshellarg()。

于 2013-09-17T05:39:22.133 回答