私はwkhtmltopdfをウェブサイトのページに変換しようとしてきましたが、同じページを変換していません。それは変換され、(Googleとbbc.co.ukを試して、両方の仕事)外部のページを格納しますので、許可は良いですが、静的なHTMLファイルまたはスクリプトによって生成されたいずれかのローカルページを変換しようとすると、失敗する前に約3分かかります。wkhtmltopdfがローカルページをPDFに変換できません
出力にはページが読み込まれなかったと表示されますが、強制的に無視すると空白のPDFが表示されます。
セッションロックの可能性がありますが、セッションを終了すると同じ問題が発生しました。私はそれがダウンし、サーバーが
かかわらず、行動することができる方法ここで問題のコードだと何か感じる:
session_write_close();
set_time_limit (0);
ini_set('memory_limit', '1024M');
Yii::app()->setTheme("frontend");
// Grabbing the page name
$ls_url = Yii::app()->request->getHostInfo().Yii::app()->request->url;
// Let's remove the PDF otherwise we'll be in endless loop
$ls_url = str_replace('.pdf','',$ls_url);
// Setting paths
$ls_basePath = Yii::app()->basePath."/../extras/wkhtmltopdf/";
if(PHP_OS=="Darwin")
$ls_binary = $ls_basePath . "wkhtmltopdf-osx";
else
$ls_binary = $ls_basePath . "wkhtmltopdf";
$ls_generatedPagesPath = $ls_basePath . "generated-pages/";
$ls_outputFileName = str_replace(array("/",":"),"-",$ls_url)."--".date("dmY-His").".pdf";
$ls_outputFile = $ls_generatedPagesPath. $ls_outputFileName;
// making sure no nasty chars are in place
$ls_command = escapeshellcmd($ls_binary ." --load-error-handling ignore " . $ls_url . " " . $ls_outputFile);
// Let's run things now
system($ls_command);
wkhtmltopdfのデバッグ時に私にとっては、ステップ1は 'shell_exec()'でコマンドをハードコードすることです。それがうまくいくなら、wkhtmltopdfの問題ではないことが分かります。私は、他のものを扱う前にローカルコピーで作業するコードの1行を取得します。 – Chords
しかし、ローカルページを変換しようとすると... failing_の前に3分ほどかかります。コマンドラインからもそれを実行するとしますか? – halfer