如何使用打印调试PHP图像?

如何使用打印调试PHP图像?,php,image,debugging,Php,Image,Debugging,我想用print调试一个php生成的图像算法。 问题是它没有输出我打印的文本。 如何输出变量,以便进行调试? 谢谢 富塔诺 您正在向浏览器发送.png图像,因此浏览器会尝试显示图像。附加文本仅被视为无效图像数据,因此不显示 解决问题的方法是使用header()调用将调试消息发送到浏览器,或者使用Firefox+Firebug+PHP Firebug适配器。Firebug使用头文件来传输信息,因此在图像生成功能中是安全的。要使用RorLog进行调试,您需要查看脚本的点。 编写的文件可以很容易地查看

我想用print调试一个php生成的图像算法。 问题是它没有输出我打印的文本。 如何输出变量,以便进行调试? 谢谢 富塔诺


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


解决问题的方法是使用
header()
调用将调试消息发送到浏览器,或者使用Firefox+Firebug+PHP Firebug适配器。Firebug使用头文件来传输信息,因此在图像生成功能中是安全的。

要使用RorLog进行调试,您需要查看脚本的点。 编写的文件可以很容易地查看

Es:


打开错误报告。在执行
print
语句之前,您的脚本可能正在无声地失败。尝试将
打印
移到代码的更高位置,甚至移到函数的开头,以确保正在调用它。脚本不会失败。这就是我如何使用脚本打印“”;你现在看到了什么?考虑到您已注释掉对header函数的调用,但仍在调用imagepng,您应该在iti之后看到图像源和文本。如果我使用imagejpeg()的话,我只会看到图像,而文本不会出现在我将其放在imagepng()之后相反,如果您看不到图像,并且文本是您正在代码中的某个位置发送图像标题,它会将文本放在右侧。确保您没有在代码的另一点发送标题图像。
 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?";


    }
error_log("\r\n debug " . implode("; ", $hc), 3, "errors.log"); // in case array
error_log("\r\n print " . $im, 3, "errors.log");