Php chrome——无头有时是空的pdf

Php chrome——无头有时是空的pdf,php,google-chrome-headless,Php,Google Chrome Headless,我开发了一个无头浏览器打印过程,有时(

我开发了一个无头浏览器打印过程,有时(<1%)会生成一个空白pdf。被调用的url通常在更大的HTML5应用程序中使用,以向用户显示一些可打印的页面

后端是在linux上的php7中完成的

$chromeBinary = '/usr/bin/google-chrome-stable';
$pdfRenderUrl = $baseUrl . ($json->{'printPath'});
$fileName = 'print_' . $json->{'jpgName'} . '.pdf';
$outputDirectory = '/data/projects/xxx/htdocs/xxxx/' . $fileName;

$command = sprintf(
                '%s --headless --virtual-time-budget=8000 --Cache-Control=no-store --print-to-pdf=%s %s',
                escapeshellarg($chromeBinary),
                escapeshellarg($outputDirectory),
                escapeshellarg($pdfRenderUrl)
            );
exec($command)


好的,url中只有一个ajax调用,但是无头打印中没有使用此内容。事实上,我现在不知道如何找到错误。加载url后是否有延迟打印的方法?我读到--虚拟时间预算只是加载事件的超时!?!如何在几秒钟后生成一个内部加载的事件?

使用NodeJS是一个选项吗?因为这样您就可以使用,这可能会让您对流程有更多的控制。即使NodeJS不是一个选项,他们的回购协议可能会有一些有用的线索。我会看看回购协议,但没有NodeJS选项…嗨,那里@bluelemonade,你知道发生了什么吗?或者你必须找到一个解决办法?非常感谢。不,我做了一个解决办法,检查pdf大小,当它小于xx kb时,然后重试…感谢您的及时回复@bluelemonade!我们就是这么想的。。。我们也会这样做。