Imagecreatefrompng() - 连接被重置错误

时间:2012-01-26 09:51:42

标签: php image function imagecreatefrompng

我在网站上安装了一段代码,其中包含gd功能。 经过调试我得出结论

$src = imagecreatefrompng($s);

导致服务器响应:“连接已重置” 即使我将代码更改为:

$src = @imagecreatefrompng($s);

发生同样的错误。 我检查了php版本,检查了gd库是否已安装并启用,但一切正常。 error_log中没有任何内容。 此外,文件路径是正确的,文件存在,其他功能可以访问该文件(如fopen或file_get_contents),因此权限没有问题。

有人有想法吗?

编辑: 该文件位于本地服务器上。

1 个答案:

答案 0 :(得分:1)

嗯,如果你不能通过命令行访问服务器,你可能会有一些令人头疼的问题。想到的两件事:

  1. 不太可能,但可能未安装libpng,或者 gd 未经PNG支持编译。从浏览器中运行phpinfo()并查找 gd 部分,您应该会看到 PNG支持已启用'
  2. 图片可能不是PNG图片!我知道它很古怪但是这些事情可能发生,只是命名文件 .png 不是PNG文件制作的,哈哈。如果您有ImageMagick,则可以使用identify程序进行检查,这是我的笔记本电脑的运行:

    $ identify~ / transparent-pixel.png 〜/ transparent-pixel.png PNG 1x1 1x1 + 0 + 0 8位DirectClass 2.79KB 0.010u 0:00.009

  3. 可能有一些其他程序可用于验证图像确实是PNG。

    最后,我建议让你的脚本在模拟服务器的本地环境中工作,比如VM或类似的。这应该可以帮助您在服务器上追踪问题,而不是很多令人头疼的问题。