我只想从我的localhost执行命令。用于我系统上安装的网站复印机的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
给我一个准确的结果。任何解决方案,请。
答案 0 :(得分:0)
如果启用此功能,请参阅php.ini
disable_functions =exec
并省略
还可以看到输出:
exec("my command", $output);
print_r($output);
答案 1 :(得分:0)
WinHTTrack的路径包含空格。您需要转义此路径(以及参数),但不能使用',而是使用escapeshellarg()。