Magento Intraship PDF 创建失败
Posted
技术标签:
【中文标题】Magento Intraship PDF 创建失败【英文标题】:Magento Intraship PDF Creation Failed 【发布时间】:2015-02-09 12:28:44 【问题描述】:我正在使用 DHL 内部运输模块来处理运输和创建运输标签。
大多数时候我可以毫无问题地打印标签,但有时我会收到以下错误消息:
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 - 没有同名文件(标签):文件已创建,但有0字节。
不过,DHL 还是会发货并负责处理。
nr-apps 的 Intraship 模块在德国非常普遍并被广泛使用,我认为扩展没有任何特定错误。我也与开发人员有过接触,但我检查了他们能想象到的一切(见上面提到的几点)。
有人知道还有什么可能导致错误吗?
谢谢!!
【问题讨论】:
【参考方案1】:我遇到了完全相同的问题。 0字节PDF、cmets命令中的错误信息和神秘的错误文本“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 错误。
【讨论】:
以上是关于Magento Intraship PDF 创建失败的主要内容,如果未能解决你的问题,请参考以下文章
iview的AutoComplete组件点两次才能失焦怎么解决