PHP的回声崩溃

时间:2019-04-11 11:47:33

标签: php apache segmentation-fault

请忽略此问题-我发现这里描述的问题不是真正的问题。 感谢那些试图帮助的人。 这个问题是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:孩子pid 10298退出信号分段错误   (11),可能在/ etc / apache2

中进行coredump

是什么原因导致代表图像的二进制字符串回显失败?

在此处查看堆栈详细信息 https://www.awesomescreenshot.com/image/3968080/0606779cd806f2d6a6e02828dd643dfd

2 个答案:

答案 0 :(得分:0)

我指的是这个documentation

因此var_dump($x);应该为您提供适当的解决方案,因为它的对象不是字符串。

使用当前图像序列返回一个新的Gmagick对象。

答案 1 :(得分:0)

这是一个Imagick对象。您可以将其转换为如下字符串:

$x::getImageBlob()

参见:https://www.php.net/manual/en/imagick.getimageblob.php