Laravel验证码图像不能在生产中工作,但开发可以

时间:2014-06-25 23:58:47

标签: php laravel-4 captcha

我使用以下软件包johntaa/laravel-captcha在我的网站上启用验证码输入。这在我的开发环境中工作正常。但是,在prod中,它无法找到图像(将其显示为空白)。

代码

//login page
@if (Session::has('show_captcha'))
     <div class="form-group">
        <label for="captcha">Captcha</label>
        <p>{{ HTML::image(Captcha::img(), 'Captcha image')  }}</p>
        {{ Form::text('captcha',null,array('class' => 'form-control', 'placeholder' => 'Enter characters'))}}
    </div>
@endif


//HTML output snippet in dev
<p><img src="http://localhost:8888/mysite/public/captcha?730518" alt="Captcha image"></p>


//HTML output snippet in prod
<p><img src="http://mysite/captcha?262091" alt="Captcha image"></p>

点击 dev 链接会产生结果,但 prod 链接错误会产生:

Call to undefined function johntaa\Captcha\imagecreatefrompng()

档案位置:

../vendor/johntaa/captcha/src/johntaa/Captcha/Captcha.php

1 个答案:

答案 0 :(得分:0)

您的问题很可能是未安装GD模块。执行phpinfo()检查。

如果未启用,请执行以下操作:

sudo apt-get install php5-gd

安装它(在Ubuntu上)。