【发布时间】:2021-04-30 13:28:38
【问题描述】:
当从普通终端使用 wkhtmltopdf 时一切正常,但是当我从 apache2 localhost 服务器使用它时,它会生成以下错误:
/usr/bin/wkhtmltopdf: /opt/lampp/lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/bin/wkhtmltopdf) /usr/bin/wkhtmltopdf: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /lib64/libwkhtmltox.so.0) /usr/bin/wkhtmltopdf
所以我知道 libstdc++ 库和一些混乱的库版本存在一些问题,但我不知道如何解决这个问题。谁能帮帮我?
我已经尝试按照此处的建议将其添加到我的 /etc/sudoers 文件中: wkhtmltopdf gives error when executed with apache user
但不幸的是,这没有帮助。
更新:我很好奇是否安装了正确版本的库,所以我运行了这个命令:
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
这给了我这个输出:
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_1.3.12
CXXABI_1.3.13
CXXABI_TM_1
CXXABI_FLOAT128
所以似乎安装了所需的版本
这是我使用的 PHP 代码:
$cmd = '/usr/bin/wkhtmltopdf www.google.de google.pdf';
$ret = shell_exec($cmd.' 2>&1');
var_dump($ret);
更新:我试图在 /opt/lampp/lib/ 中搜索 libstdc++.so.6 文件,发现这里有一个 libstdc++.so.6 和 libstdc++.so.6.0.19 文件,我想我必须将其更新到 6.0.24,有人知道该怎么做吗? (我试图将文件复制到这个lib文件夹但没有成功)
【问题讨论】:
-
您可能希望包含用于调用 wkhtmltopdf 可执行文件的 PHP 代码的代码 sn-p。
-
@Sil 将包含它
标签: php linux apache fedora wkhtmltopdf