3

このCAPTCHAスクリプトをサーバーにインストールしようとしています:

http://www.abeautifulsite.net/blog/2011/01/a-simple-php-captcha-script/

ファイルをアップロードし、デモを実行しようとしました。ただし、CAPTCHA 画像が正しく表示されません。

CAPTCHA 画像を直接開こうとすると、このエラーが発生します

致命的なエラー: キャッチされない例外 'Exception' とメッセージ 'Font file not found: ' in /home/website/public_html/simple-php-captcha/simple-php-captcha.php:125 スタック トレース: #0 {main} がスローされました/home/website/public_html/simple-php-captcha/simple-php-captcha.php 行 125

以下のコード:

Line 125: if( !file_exists($font) ) throw new Exception('Font file not found: ' . $font);

フォント ファイル パスは、コードの前半で設定されています。

$captcha_config = array(
    'code' => '',
    'min_length' => 5,
    'max_length' => 5,
    'png_backgrounds' => array(dirname(__FILE__) . '/default.png'),
    'fonts' => array(dirname(__FILE__) . '/times_new_yorker.ttf'),
    'characters' => 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
    'min_font_size' => 24,
    'max_font_size' => 30,
    'color' => '#000',
    'angle_min' => 0,
    'angle_max' => 15,
    'shadow' => true,
    'shadow_color' => '#CCC',
    'shadow_offset_x' => -2,
    'shadow_offset_y' => 2
);

$font = $captcha_config['fonts'][rand(0, count($captcha_config['fonts']) - 1)];

確認したところ、必要なファイルはすべてフォルダーにあります。

このエラーを修正する方法を知っている人はいますか?

4

1 に答える 1

0

単純な php キャプチャがページ キャッシングで機能せず、「フォント ファイルが見つかりません」という例外が誤ってスローされることがわかりました。CAPTCHA 画像を含むページがキャッシュされていないことを確認し、問題は解決しました。

私の特定のケースで/register/は、CAPTCHA 画像を含むページがあります。W3 Total Cache を使用して、WordPress Web サイトのページ キャッシングを行っています。

お役に立てれば。

于 2013-02-21T04:35:02.950 に答える