2012-11-29 68 views
1

我在我的应用程序中开发了一个功能,它根据用户需要一些图像并呈现为一个pdf。这个功能在我的舞台服务器上工作正常,但是这显示了我在制作时的“服务器错误”。使用tcpdf的PDF渲染问题

我验证Apache的错误日志,我发现下面的错误

libpng warning: Ignoring attempt to set cHRM RGB triangle with zero area 

Corrupt JPEG data: 234 extraneous bytes before marker 0xd9 

的应用程序在CakePHP的创建,渲染PDF库是tcpdg和分期和生产服务器上的Ubuntu。我已经咨询了一些资深人士,他们都说这是GD问题。

生产服务器上舞台服务器

PHP 5.3.3-0.dotdeb.1 with Suhosin-Patch (cli) (built: Oct 1 2010 08:49:29) 
Copyright (c) 1997-2009 The PHP Group 

环境对环境

PHP 5.3.2-1ubuntu4.18 with Suhosin-Patch (cli) (built: Sep 12 2012 19:12:47) 
Copyright (c) 1997-2009 The PHP Group 

请推荐我任何无风险的解决方案。

+0

你相比每参与了测试和生产服务器软件的版本,下面的扩展

extension=imagick.so 

感谢? – Naryl

+0

你的图像有哪些类型?因为你有PNG和JPG两种错误.. – Nelson

+0

@Naryl你在谈论哪些软件? –

回答

1

诊断期间此问题。我注意到ImageMagick模块未加载到我们的登台服务器上。这就是它在分段服务器上工作的原因。我们禁止它从生产服务器,它的工作。这与GD造成了一些冲突。

我注释掉反正

1

由于任何原因使图片停止工作后,图片尾部会出现一些垃圾字节。

你可以在你的图像字节中找到代表EOI(图像的结尾)的“\ xFF \ xD9”,并且在那里你可以找到它后面的字节。希望这会起作用。

+0

这是工作完美的舞台服务器。 –

+0

你的机器生成这些垃圾字节可能是内核发送这些字节或其他原因,你可以尝试现场提到的解决方案。 –

+0

提及“其他一些原因”。我可以在生产服务器上进行这种更改。 –