PHP - ImageCreate()错误

时间:2011-03-11 15:06:48

标签: php windows image

我正在尝试制作一个Captcha代码,我在线阅读了一些教程。所以,我有复制/粘贴这个功能:

create_image(); 
exit(); 

function create_image() { 
    //Let's generate a totally random string using md5 
    $md5_hash = md5(rand(0,999)); 
    //We don't need a 32 character long string so we trim it down to 5 
    $security_code = substr($md5_hash, 15, 5); 

    //Set the session to store the security code
    $_SESSION["security_code"] = $security_code;

    //Set the image width and height 
    $width = 100; 
    $height = 20;  

    //Create the image resource 
    $image = ImageCreate($width, $height);  

    //We are making three colors, white, black and gray 
    $white = ImageColorAllocate($image, 255, 255, 255); 
    $black = ImageColorAllocate($image, 0, 0, 0); 
    $grey = ImageColorAllocate($image, 204, 204, 204); 

    //Make the background black 
    ImageFill($image, 0, 0, $black); 

    //Add randomly generated string in white to the image
    ImageString($image, 3, 30, 3, $security_code, $white); 

    //Throw in some lines to make it a little bit harder for any bots to break 
    ImageRectangle($image,0,0,$width-1,$height-1,$grey); 
    imageline($image, 0, $height/2, $width, $height/2, $grey); 
    imageline($image, $width/2, 0, $width/2, $height, $grey); 

    //Tell the browser what kind of file is come in 
    header("Content-Type: image/jpeg"); 

    //Output the newly created image in jpeg format 
    ImageJpeg($image); 

    //Free up resources
    ImageDestroy($image); 
}

但是当我尝试调用它时,我收到了这个错误:

致命错误:在第19行的C:\ Program Files \ Apache Software Foundation \ Apache2.2 \ htdocs \ gtw \ registration \ createCaptcha.php中调用未定义的函数ImageCreate()

有什么问题?一些PHP lib?

3 个答案:

答案 0 :(得分:1)

为了能够使用ImageCreate,您需要将GD库作为PHP安装的一部分。

检查phpinfo()函数以查看它是否已安装。如果没有,您需要添加此项。

答案 1 :(得分:1)

未启用php_gd2扩展程序。

它包含在Windows PHP发行版中,但您必须在php.ini中启用它。要执行此操作,只需打开php.ini并取消注释(删除前导;)以下行:

extension=php_gd2.dll

保存,重新启动Apache,你应该没问题。

答案 2 :(得分:0)

您尚未启用php_gd2扩展名

它包含在Windows PHP发行版中,但是您必须在php.ini中启用它。为此,只需打开php.ini并取消注释(删除开头;)以下行:

extension = php_gd2.dll 保存,重新启动Apache,您应该没事。

要找到Php.ini,请转到xampp文件夹

打开php文件夹 打开php.ini-development 889行,具体取决于您的php版本 它包含在Windows PHP发行版中,但是您必须在php.ini中启用它。为此,只需打开php.ini并取消注释(删除开头;)以下行:

extension = php_gd2.dll 保存,重新启动Apache,您应该没事。