0

我在我的服务器上使用wkhtmtoimage库,当我在 PuTTY 中运行时,我设法获得了以下命令的输出:

wkhtmltoimage www.google.com test.jpg

但是,当我使用以下 shell 命令时,我没有得到输出,我也不知道为什么。

$filnename = "test.jpg";
$url = "http://www.google.com";    
shell_exec("wkhtmltoimage $url $filename");

即使我尝试了这种变化,但仍然没有得到想要的结果:

shell_exec("/usr/local/bin/wkhtmltoimage $url $filename");

我究竟做错了什么?

编辑:

我下载了Linux二进制文件并将其放入文件夹然后运行它。是否需要重新启动服务器以影响更改?

允许使用 shell_exec 命令,因为我们将它用于 ffmpeg(已经安装了一个)

4

2 回答 2

0

我无法给出确切的解决方案,但如果您可以尝试我写的内容,我可能会有所帮助。如果我提供的解决方案不起作用,我将列出更多解决方案。

解决方案1:
在url和文件名前后使用引号

shell_exec("wkhtmltoimage \"$url\" \"$filename\"");

解决方案 2:
尝试将流重定向到文件并键入内容。

shell_exec("wkhtmltoimage \"$url\" \"$filename\" > output.txt 2> error.txt");
于 2011-08-03T13:03:46.433 回答
0

可能是运行 PHP(或 Apache)的用户无权运行此工具。尝试打印此命令的输出或仅用于passthru()直接打印命令的输出。另一种解决方案是将输出传递给@Cem_Kalyoncu 所写的文件。

于 2011-08-04T04:39:27.723 回答