问题描述
我们有一个 PHP 文件,它调用 nodejs 脚本来生成 pdf。流程是这样的:
当 nodejs 文件位于 web 文件夹 (/var/www/mysite) 时,此过程正在运行,但我们被告知将 nodejs 内容移动到 /opt 文件夹中。当这种情况发生时,事情开始出错。
在这两种情况下,PHP 都能正确生成 html 文件。 PHP 然后运行这个命令:
nodejs /opt/puppeteer-pdf-generator/generate_pdf.js infile="file:///opt/puppeteer-pdf-generator/newReport.html" outfile="report.pdf"
generate_pdf.js 文件里面有一些 console.logs。 PHP 从 exec() 命令输出输出和返回值。从这里我可以看到 generate_pdf 开始处理事情,但是脚本在这个 const 行之后停止:
console.log(1)
const browser = await puppeteer.launch({ignoreHTTPSErrors: true,args: ['--no-sandBox','--disable-setuid-sandBox']});
console.log(2)
我看到了“1”,但我从未看到过“2”。我不确定那条线上发生了什么。
至于权限,/opt/puppeteer-pdf-generator 及其下的所有内容都设置为 www-data:www-data 和 775。
如果我运行完全相同的命令,PHP 从命令行运行,一切正常,所以我强烈怀疑这个问题可能是权限问题。我不确定如何继续解决此问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)