0

我想用打印调试一个 php 生成的图像算法。问题是它不输出我打印的文本。我怎样才能输出变量,以便我可以调试?谢谢,富塔诺

 public function drawPicture()
    {
        $im = imagecolorallocate ($this->picture, 255, 0, 255);
        imagettftext($this->picture, $this->fontSize , 0, 100, 100,$im , "cooperm.TTF", $this->name);



        # int ImageCopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )
        //imagecopy($this->picture, $this->pika, $this->wappen['pika']['dst_x'], $this->wappen['pika']['dst_y'], 0, 0, $this->pika_size[0], $this->pika_size[1]);

        $zufall = rand(1,99999999);

        #header("Content-Type: image/jpeg");
        imagepng($this->picture);

        $this->checkFontSize();

        imagedestroy($this->picture);

        print "WHY_DOESNT_PRINT?";


    }
4

2 回答 2

1

您正在向浏览器发送 .png 图像,因此浏览器会尝试显示图像。附加文本仅被视为无效的图像数据,因此不会显示。

解决您的问题的方法是使用header()调用向您的浏览器发送调试消息,或使用 Firefox+Firebug+ PHP firebug 适配器。Firebug 与标头一起传输信息,因此在图像生成功能中是安全的。

于 2012-08-10T13:00:16.867 回答
0

使用 rorrorlog 调试您要查看的脚本点。写入的文件可以很容易地查看。

埃斯:

error_log("\r\n debug " . implode("; ", $hc), 3, "errors.log"); // in case array
error_log("\r\n print " . $im, 3, "errors.log");
于 2017-03-31T13:33:43.447 回答