【发布时间】:2019-04-11 11:47:32
【问题描述】:
请忽略这个问题 - 我发现这里描述的问题不是真正的问题。 感谢那些试图提供帮助的人。 问题是 gmagick 特定的。不是一般的 php 问题。
我在 PHP 版本 5.6.40-6+ubuntu18.04.1+deb.sury.org+3 上有这个简单的代码
<?php
header("Content-type: image/png");
$base_image = new Gmagick();
$base_image->newImage(3, 3, "#555555");
$base_image->setImageFormat('png');
$x = $base_image->getImage();
echo $x;
?>
它在 ubuntu 16 php 5.6 服务器上运行良好(输出 3x3 图像)。 我用相同的堆栈从头开始创建了一个新的 Ubuntu 18.04 服务器(详情如下),但它在 echo 语句中崩溃。
错误日志显示:[Thu Apr 11 11:35:48.110542 2019] [core:notice] [pid 9875] AH00051: child pid 10298 exit signal Segmentation fault (11)、/etc/apache2中可能的coredump
什么会导致表示图像的二进制字符串的回显失败?
在此处查看堆栈详细信息 https://www.awesomescreenshot.com/image/3968080/0606779cd806f2d6a6e02828dd643dfd
【问题讨论】:
-
你有没有试过
var_dump($x)看看它是否真的是一个二进制字符串? -
尝试用 var_dump 或 print_r 代替 echo
-
@RahulMeshram 有趣。 var_dump 给出 object(Gmagick)#2 (0) { } 它在旧的服务器上也显示了同样的东西。
-
@AndreiLupuleasa var_dump 给出 object(Gmagick)#2 (0) { } 它在旧的服务器上也显示了同样的东西。
标签: php apache segmentation-fault