2011-08-03 11 views
0

私は自分のサーバー上でwkhtmtoimageライブラリを使用しています、と私はパテで実行している場合は、次のコマンドの出力を得るために管理している:私は、次のシェルコマンドを使用するとき、私は、なぜこのシェルコマンドでは希望の結果が得られませんか?

wkhtmltoimage www.google.com test.jpg 

しかし、出力を取得しないでください、私は理由を知らない。

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

私が間違っているのは何:

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

はさえ、私はまだ、望ましい結果を得ることなく、代わりにこの変化を試みましたか?

編集:

私は、Linuxのバイナリをダウンロードしたフォルダに入れて、私は、私は変更が影響を受けるサーバーを再起動する必要がit.Whetherを走りましたか?

はshell_execコマンドは、我々はffmpegのためにそれを使用しているため

+2

エラーが発生しましたか? – Dogbert

+1

コマンドの最後に '2>&1'を追加してエラーメッセージをキャッチしてみてください – wonk0

+0

あなたのPHPスクリプトのドメインはSSHのものとは異なります(PHPスクリプトのhttp://に気づきます) – ChrisH

答えて

0

(すでに1をインストール)私は厳密解を与えることはできませんが許可されていますが、私は助けになるかもしれない書かれたものは試してみることができます。私が提供しているソリューションが機能しない場合、私はより多くのソリューションをリストアップします。

ソリューションの提案1:
使用したURLの前後に引用符とファイル名

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

ソリューションの提案2:
は、ファイルへのストリームをリダイレクトしてみて、内容を入力します。

shell_exec("wkhtmltoimage \"$url\" \"$filename\" > output.txt 2> error.txt"); 
+0

私はerror.txt file.Nowを確認する必要があるどこでも私は画像を取得しませんでした。 – svk

+0

シェルから内容を読み込むか、echo file_get_contents( "error.txt")を使用します。同様に出力されます。彼らに有用な情報があるかどうかだけをチェックしてください。 –

+0

echo file_get_contents( "error.txt");それは私に空白の画面を示しています – svk

0

PHP(またはApache)の実行にこのツールを実行する権限がないユーザーでもかまいません。このコマンドの出力を印刷するか、直接passthru()を使用してコマンドの出力を直接印刷してください。 もう一つの解決策は、@ Cem_Kalyoncuが書いたように出力をファイルに渡すことです。

+0

ページ上に何も表示されませんでしたか?何か考えていますか?1日苦労して私はミスを見つけることができません。 – svk

+0

wkhtmltoimageがある可能性がありますあなたのPHPスクリプトがあるディレクトリにファイルを作成したり、ファイルに書き込む権限がありませんか? – Timur

+0

しかし、パテを使用すると、ファイルを書き込むことができます。パテとスクリプトの間には違いがあります。パテを使用すると、それはthat.Iのようなものではありません。 – svk

関連する問題