这就是协议,我目前正在使用Api-Platform docker-compose配置。
我需要添加wkhtmltopdf
来生成pdf(duh),但是我从高山v3.9
回购中获得的软件包中有一个bug,由于qt5,它会随机导致段错误。
qt5-qtbase-dev=5.12.2-r0
发行的should be fixed和edge
回购中包含5.12.3,可能非常适合我。
此qt5版本需要运行icu-libs=64.x-r0
,也可以在边缘仓库(64.2
中方便地运行),但是构建失败,并显示以下输出:
ERROR: unsatisfiable constraints:
icu-libs-62.1-r0:
breaks: world[icu-libs=64.2-r0]
satisfies: .api-phpexts-rundeps-0[so:libicui18n.so.62]
.api-phpexts-rundeps-0[so:libicuio.so.62]
.api-phpexts-rundeps-0[so:libicuuc.so.62]
运行php扩展依赖项的脚本需要icu-libs=62.1-r0
:
runDeps="$( \
scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
| tr ',' '\n' \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)";
apk add --no-cache --virtual .api-phpexts-rundeps $runDeps;
但是我不能在这里告诉我需要什么旧的icu-lib。有什么建议吗?
[编辑]这是我上次尝试后的Dockerfile: https://gist.github.com/tsadiq/47582ea7d2f8b572cd360d6a9c9329b0
第54-56行是在icu-libs
软件包被用于构建上述php依赖项之后的一次尝试。我什至尝试了--force-broken-world
选项,但显然不起作用^^'
我以前工作的Dockerfile的唯一区别是第70行上的=5.12.3-r0
,这是我需要开始工作的地方。
[第二次编辑] 最后,我无法使它正常工作,并建议我使用QT修补版本从Docker获取完整的wkhtmltopdf二进制文件。问题已解决,但渲染完全关闭,因此我不得不回退到错误的版本,并删除对css libs的所有外部调用,并直接在html源代码中内嵌所有css,这解决了导致上述segfault的问题。 / p>
这不是完全解决方案,但现在可以为我完成工作。