用PHP执行WinHTTrack命令

用PHP执行WinHTTrack命令,php,command-line,command,Php,Command Line,Command,我只想从本地主机执行命令。安装在我的系统上的用于网站复印机的WinHTTrack工具。当我使用Windows命令行执行此命令时。它工作得很好。但是没有结果 下面是一个代码示例: <?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"); ?>

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

下面是一个代码示例:

<?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");    

?>
输出:数组

错误:1

失败了。无结果:

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

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

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

如果启用此功能,请参阅php.ini中的

disable_functions =exec
这里省略

另请参见如下输出:

 exec("my command", $output);
 print_r($output);

WinHTTrack的路径包含空间。您也需要转义此路径和参数,但不能使用',而是使用escapeshellarg。

My php ini显示disable_functions=意味着没有任何函数是不可禁用的。即使在命令行中,您也无法成功执行此命令,因为路径包含空间。试试这个:exec'C:\Program Files\WinHTTrack\httrack-O save_folder/in.yahoo.com/+in.yahoo.com/*-v';没有解决你的ans的问题,现在我要脱发了在Windows命令行中执行此命令时,您是否介意共享得到的输出/错误消息?
 exec("my command", $output);
 print_r($output);