0

サーバーでwkhtmtoimageライブラリを使用しています。PuTTYで実行しているときに、次のコマンドの出力を取得できました。

wkhtmltoimage www.google.com test.jpg

しかし、次のシェル コマンドを使用すると、出力が得られず、その理由がわかりません。

$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 に答える