我在 TCPDF 中收到错误 [找不到包装器“铬扩展名”]


I am getting an error [Unable to find the wrapper "chrome-extension"] with TCPDF

我有一个OpenCart电子商务系统设置。我尝试使用 TCPDF 模块生成现有订单的 PDF 发票。

模块名称:TCPDF网址: https://sourceforge.net/projects/tcpdf/版本: 5.9.202发行日期: 2012-12-16作者: 尼古拉·阿苏尼

此模块似乎在我的本地(开发环境)上运行良好,但它在我的生产环境(配置中类似)上不起作用。

错误:

警告:file_exists():找不到包装器"chrome-extension" - 您在配置 PHP 时忘记启用它了吗?在/var/www/html/2store/catalog/tcpdf/tcpdf.php 第 2 行警告: file_exists(): 找不到包装器"chrome-extension" - 您在配置 PHP 时忘记启用它了吗?在/var/www/html/2store/catalog/tcpdf/tcpdf.php 第 2 行TCPDF 错误: [图像] 无法获取图像: 铬 extension://lifbcibllhkdhoafpjfnlhfpfgnpldfl/call_skype_logo.png

我尝试进行故障排除,但找不到导致它的原因。任何人都可以提供建议吗?

首先,您使用的是非常旧的TCPDF版本。您应该使用 https://github.com/tecnickcom/TCPDF 的最新版本。

其次,看起来您要求TCPDF使用 URL 包含图像,但您提供的 URL 可能只能在浏览器本地工作。错误所谈论的包装器与流有关。请参阅 http://php.net/manual/en/intro.stream.php 基本上,"chrome扩展名"不是有效的流。可以在此处找到有效流类型的示例: http://php.net/manual/en/wrappers.php 我很惊讶这个 URL 在本地工作,但我想这是因为您在本地安装了 Chrome,因此您的操作系统很好,并允许 PHP 访问该 URL 引用的文件。

解决服务器上的问题,您需要获取要包含在PDF文件中的文件的副本,将其放在服务器上Web服务器用户可以访问的目录中的某个位置,并将文件名提供给TCPDF。