Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php GD验证码图像未在Mac上显示_Php_Macos_Gd_Captcha - Fatal编程技术网

php GD验证码图像未在Mac上显示

php GD验证码图像未在Mac上显示,php,macos,gd,captcha,Php,Macos,Gd,Captcha,我正在使用一个简单的验证码系统作为表单。在Windows上工作正常,但在Mac上不显示。在这两个系统中,DG都已启用,我已使用phpinfo()进行了检查 更新:我正在使用安装了PHP版本5.3.3的OSXSnowLeopard。我现在启用了错误报告,并且看到了这个错误:调用未定义的函数imagettftext()。这很奇怪,因为如果我导航到函数的定义,它会将我带到GD库中的imagettftext() 有什么建议吗 提前谢谢 Mauro如果错误是致命错误:调用未定义的函数imagettft

我正在使用一个简单的验证码系统作为表单。在Windows上工作正常,但在Mac上不显示。在这两个系统中,DG都已启用,我已使用phpinfo()进行了检查



更新:我正在使用安装了PHP版本5.3.3的OSXSnowLeopard。我现在启用了错误报告,并且看到了这个错误:调用未定义的函数imagettftext()。这很奇怪,因为如果我导航到函数的定义,它会将我带到GD库中的imagettftext()

有什么建议吗

提前谢谢


Mauro

如果错误是
致命错误:调用未定义的函数imagettftext()
,则表示未安装GD模块


顺便说一句,请更新你的问题,澄清你想做什么,在哪里做。“在Mac上”是什么意思?您使用的是哪种操作系统?哪个网络服务器?哪个版本?哪个PHP版本?等等…

雪豹上的PHP5.3.x缺少ttf(TrueType)模块

添加错误报告(E\u ALL);ini_集(“显示错误”,“打开”);在php脚本开始时查看可能的错误。我发现了两个可能的问题:它找不到字体文件或页眉在Windows上出现问题“在Mac上”是什么意思?在Mac服务器上?在mac浏览器上?如果您试图直接访问验证码图像,会发生什么情况?您会收到什么消息?@Straubery我添加了错误报告,结果是:致命错误:在第26行调用/Users/../CAPTCHA.php中未定义的函数imagettftext()。这是什么样的错误?我怎么修理它?谢谢这很奇怪,因为如果我导航到函数的定义,它会将我带到GD库中的imagettftext()!你“导航”?怎么用?哪里在你的IDE中?您的IDE不是web服务器,如果您在IDE中看到某些东西,并不意味着它也可以在web服务器上使用。顺便说一句,您没有指定正在使用的web服务器(和版本)。是的,我是我的ide。但是我已经运行了phpinfo并显示gd已安装:这是从phpinfo()启用的gd:启用gd支持的gd版本捆绑(2.0.34兼容)启用GIF读取支持启用GIF创建支持启用JPEG支持启用libJPEG版本8 PNG支持启用libPNG版本1.4.3 WBMP支持启用XBM支持启用
<?php
    session_start();

    // generate random number and store in session

    $randomnr = rand(1000, 9999);
    $_SESSION['randomnr2'] = md5($randomnr);

    //generate image
    $im = imagecreatetruecolor(90, 32);

    //colors:
    $white = imagecolorallocate($im, 255, 255, 255);
    $grey = imagecolorallocate($im, 128, 128, 128);
    $black = imagecolorallocate($im, 0, 0, 0);

    imagefilledrectangle($im, 0, 0, 200, 35, $black);

    //path to font:

    $font = 'fonts/rock-webfont.ttf';

    //draw text:
    //imagettftext($im, 35, 0, 22, 24, $grey, $font, $randomnr);
    //imagettftext($im, 35, 0, 15, 26, $white, $font, $randomnr);
        imagettftext($im, 24, 0, 12, 26, $grey, $font, $randomnr);
    imagettftext($im, 24, 0, 8, 28, $white, $font, $randomnr);

    // prevent client side  caching
    header("Expires: Wed, 1 Jan 1997 00: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");

    //send image to browser
    header ("Content-type: image/gif");
    imagegif($im);
    imagedestroy($im);
?>