Php TCPDF错误:Can';t打开图像文件:/var/www/html/tcpdf/cache/
我有一个网站,正在生成基于数据的PDF文件 我在一个免费的网络主机上尝试了它,它还可以,但是当我将它上传到我的服务器时,我遇到了以下错误: TCPDF错误:无法打开图像文件:/var/www/html/TCPDF/cache/mska_1d34cb1ba2c1951624fbcb7556c6d1d 在缓存文件夹中,mska_1d34cb1ba2c1951624fbcb7556c6d1d不存在于该文件夹中。猜测一下(使用这样的名称),它正试图写入该文件夹。检查PHP/Apache是否具有该文件夹的写入权限 它以后也会想从中读取,所以请授予读取和写入权限。我现在得到了答案 对于所有能够遇到这个问题的人来说,这些都是可能的解决办法 一个原因是tcpdf中的文件夹没有写入和读取权限。确保用于缓存和图像的文件夹具有644或755(推荐)权限。这些权限是非常重要的,因为生成pdf时有一个过程,即写入缓存或读入图像 另一个原因是tcpdf不接受png文件或带有透明图像的文件。我的解决方案是将图像转换成jpeg格式,并为其应用白色背景。因此,避免使用透明的pngPhp TCPDF错误:Can';t打开图像文件:/var/www/html/tcpdf/cache/,php,tcpdf,Php,Tcpdf,我有一个网站,正在生成基于数据的PDF文件 我在一个免费的网络主机上尝试了它,它还可以,但是当我将它上传到我的服务器时,我遇到了以下错误: TCPDF错误:无法打开图像文件:/var/www/html/TCPDF/cache/mska_1d34cb1ba2c1951624fbcb7556c6d1d 在缓存文件夹中,mska_1d34cb1ba2c1951624fbcb7556c6d1d不存在于该文件夹中。猜测一下(使用这样的名称),它正试图写入该文件夹。检查PHP/Apache是否具有该文件夹的
希望能有所帮助。除了Bert建议检查文件夹权限外,还要检查HTTP/HTTPS问题,并注意,如果没有正确自动计算tcpdf文件夹的K_路径,您可以将其设置为tcpdf文件夹的主服务器路径。(在tcpdf_config.php中)
define('K_PATH_MAIN','/my/absulte/PATH/tcpdf/)代码>只需从库文件夹TCPPDF创建一个名为cache的文件夹
如果有配置文件夹、字体和图像,也可以创建缓存文件夹,如果不起作用,则授予777或755权限。在Ubuntu中,此错误通过在tcpdf/cache/
文件夹上设置777权限得到修复:
chmod 777 cache
我尝试使用755或775,但没有成功。强制使用SELinux也可能导致此问题。需要添加一个异常。可以使用setEnforce0轻松测试,然后重试生成pdf。检查文件的扩展名是否为pdf(全部小写)而不是pdf(全部大写)。或者以某种方式使它们保持一致。我在Windows/Linux系统之间遇到了这个问题。我修复了将url替换为image/home/image/img1.jpg的绝对路径的问题。在我的情况下,文件受到了保护,TCPDF试图使用CURL(!?)获取该图像,但出现了403错误,因为Apache没有找到正确的cookie。使用PNG透明性描述为我省去了很多麻烦。非常感谢你!我发现当将图像保存为8位或24位PNG(在Fireworks中)时,TCPDF接受它们,但32位PNG会给出错误。不管透明度如何。@Stef,您应该添加您的评论作为答案!这会得到很多选票!谢谢,我的问题用这个解决了。我遇到了一个TCPDF错误:无法打开图像文件:(没有图像文件路径)因为我担心这会太过宽松,我尝试将缓存目录组更改为www数据(apache名称),并保留755以获得权限,从而成功。