Magento Intraship PDF创建失败

时间:2015-02-09 12:28:44

标签: php mysql magento dhl

我使用DHL Intraship模块处理运输并创建运输标签。

大多数时候我可以毫无问题地打印标签,但有时会收到以下错误消息:

pdf creation failed. service temporary not available. Unable to save PDF to [...] /var/intraship/documents/pdf--a/pdf--a2/pdf--a29/label-00340433836395078284.pdf.

不幸的是,我无法弄清楚导致错误的原因。它与订购的物品,地址,数量,装运或付款类型或我能想象到的任何其他变量不相符。

问题是,它只发生在一些订单上 - 让我们说我可以连续打印20个标签而接下来的3个标签不起作用。由于它与时间无关,我可以在一次打印很多标签,然后只打印两次,我不认为它与服务器的过载相关'工作记忆。

此外,我查了一下   - 目录许可是正确的(777)   - url_fopen设置为allwo   - 没有相同名称的文件(标签):文件已创建,但有0byte。

尽管如此,该组织仍在DHL启动,并将其纳入考虑范围。

nr-apps的Intraship模块很常见并且在德国广泛使用,我不认为扩展有任何特定错误。我也与开发人员联系,但我检查了他们可以想象的一切(见上面提到的几点)。

是否有人知道还有什么可能导致错误?

谢谢!

1 个答案:

答案 0 :(得分:0)

我有完全相同的问题。 0字节PDF,顺序注释中的错误消息和神秘的错误文本“FPDF错误:无法找到指向外部参照表的指针”。

在搜索扩展程序的代码后,我找到了创建错误的地方(第143行app/code/community/Dhl/Intraship/Helper/Pdf.php):

} catch (Exception $e) {
    Mage::log($e->getMessage());
    throw new Dhl_Intraship_Helper_Pdf_Exception(
        'pdf creation failed. service temporary not available. ' . $e->getMessage(),
        $e->getCode()
    );
}

在记录错误时,我搜索了var/log/system.log中的错误日志,并找到了相关的异常消息:

2015-04-16T17:52:27+00:00 DEBUG (7): Unable to save PDF to /path-to-your-app/var/intraship/documents/pdf--X/pdf--XX/pdf--XXX/label-<code>.pdf.
2015-04-16T17:52:27+00:00 ERR (3): Warning: file_get_contents(http://www.intraship.de:80/cartridge/WSPrint?code=<long code>): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error
    in /path-to-your-app/app/code/community/Dhl/Intraship/Helper/Pdf.php on line 143

对我来说,错误是(最近非常不稳定)DHL Intraship API。这并不意味着您收到相同的错误或错误原因是相同的,但至少您有一个指示器在哪里查找可能对您的解决方案有帮助的错误消息。

对我来说,唯一剩下的选择是联系DHL Intraship支持部门,了解HTTP 500错误。