首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Captcha镜像在webhost上“损坏”,但在localhost上没有

问Captcha镜像在webhost上“损坏”,但在localhost上没有
EN

Stack Overflow用户
提问于 2012-04-02 00:50:03
回答 1查看 982关注 0票数 0

我有一个验证码脚本,应该生成一个代码。它在我的本地主机上运行得很好,但当我把它上传到我的网站主机上时,它看起来就像是一张破碎的图片。请注意,GD已安装并正常工作(我有一个图像大小调整脚本,可以在网络主机上正常工作)。

下面是我的captcha.php代码(验证码会话值是在这个脚本之外生成的):

代码语言:javascript
复制
<?php header('Content-type: image/jpeg'); ?>
<?php session_start(); ?>
<?php

$text = $_SESSION['captcha'];

//Image specs
$fontsize = 28;
$imagewidth = 130;
$imageheight = 50;

$image = imagecreate($imagewidth, $imageheight);
imagecolorallocate($image, 75, 146, 178);
$textcolor = imagecolorallocate($image, 255, 255, 255);

//Set fonts
$font1 = 'fonts/font1.ttf';
$font2 = 'fonts/font2.ttf';
$font3 = 'fonts/font3.ttf';

//Create 15 random lines
for ($x=1; $x<=15; $x++) {
    $linecolor = imagecolorallocate($image, 206, 228, 244);
    $x1 = rand(1,110);
    $y1 = rand(1,50);
    $x2 = rand(1,110);
    $y2 = rand(1,50);
    imageline($image, $x1, $y1, $x2, $y2, $linecolor);
}

//randomize font
$randfont = rand(1,3);
if ($randfont == 1) { 
    $font = $font1; 
} elseif($randfont == 2) { 
    $font = $font2; 
} else {
    $font = $font3;
}

//Randomize text angle
$angle = rand(-3,3);

imagettftext($image, $fontsize, $angle, 10, 32, $textcolor, $font, $text);
imagejpeg($image);

?>

你知道是什么导致了这种奇怪的行为吗?

EN

回答 1

Stack Overflow用户

发布于 2013-08-09 12:18:21

很容易解决。您可能正在linux上运行lamp。这发生在我身上是因为我的灯没有gd模块。Gd (graphic something)是一个动态渲染验证码图片的模块。要修复它,请转到lamp服务器上的终端并键入:

代码语言:javascript
复制
sudo apt-get install php5-gd

你应该可以走了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9966227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档