【发布时间】:2012-05-30 04:46:01
【问题描述】:
我使用secureimage解决方案生成验证码
我在 chrom 控制台上有这个错误
资源解释为图像,但使用 MIME 类型 text/html 传输
当进入这个url时直接用作图片src
securimage_show.php?sid=fa5e1eb19c3a534885632e
我有这个错误
验证码图片生成失败,内容已输出。 这很可能是由于配置错误或 PHP 错误发送到 浏览
有人知道吗?
注意:它适用于本地 wampserver,但不适用于远程服务器
编辑:
验证码开源代码生成 php 错误的代码:
protected function output()
{
if ($this->canSendHeaders() || $this->send_headers == false) {
if ($this->send_headers) {
// only send the content-type headers if no headers have been output
// this will ease debugging on misconfigured servers where warnings
// may have been output which break the image and prevent easily viewing
// source to see the error.
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
}
switch ($this->image_type) {
case self::SI_IMAGE_JPEG:
if ($this->send_headers) header("Content-Type: image/jpeg");
imagejpeg($this->im, null, 90);
break;
case self::SI_IMAGE_GIF:
if ($this->send_headers) header("Content-Type: image/gif");
imagegif($this->im);
break;
default:
if ($this->send_headers) header("Content-Type: image/png");
imagepng($this->im);
break;
}
} else {
echo '<hr /><strong>'
.'Failed to generate captcha image, content has already been '
.'output.<br />This is most likely due to misconfiguration or '
.'a PHP error was sent to the browser.</strong>';
}
imagedestroy($this->im);
restore_error_handler();
if (!$this->no_exit) exit;
}
【问题讨论】:
-
你能提供一些你的代码吗?
-
我会看到,但它适用于本地主机,但不适用于远程服务器
-
您忘记包含评估为假的关键
if语句... -
@jeroen:已编辑(添加整个函数)
-
@khaled_webdev 嗨,Khaled,您还有这个问题吗?如果是这样,我可以为您提供解决方案。我是 Securimage 验证码的作者。
标签: php apache google-chrome captcha