php バージョン: v7.2.12グラフィック検証コードをロードできません最近ウェブサイトを構築するために Wordpress を使用しました。
dockcer ミラーは: wordpress:4.9.8
wechat-social-loginプラグインの実装
WeChat、QQ、DingTalk、Githubログイン時、グラフィック確認コードをオンにした後関数、グラフィック QR コードをロードできないことがわかりました。
F12ステータス コードは 200 ですが、戻り値がありません。エラー
このリクエストには利用可能な応答データがありません
##WordPress ログを開いた後、debug## で次のエラーが報告されているのを見つけました。 # ログファイル。デバッグ ログを有効にする方法については、過去の記事「WordPress デバッグ モードを有効にする方法 (エラー プロンプト)」にアクセスし、ログを
wp-content ディレクトリの
debug.log に出力してください。 。
[08-Feb-2020 07:37:42 UTC] PHP Fatal error: Uncaught Error: Call to undefined function Gregwar\Captcha\imagettfbbox() in /var/www/html/wp-content/plugins/wechat-social-login/includes/captcha/CaptchaBuilder.php:327
Stack trace:
#0 /var/www/html/wp-content/plugins/wechat-social-login/includes/captcha/CaptchaBuilder.php(440): Gregwar\Captcha\CaptchaBuilder->writePhrase(Resource id #7, '84sx', '/var/www/html/w...', 150, 40)
#1 /var/www/html/wp-content/plugins/wechat-social-login/includes/social/class-xh-social-ajax.php(203): Gregwar\Captcha\CaptchaBuilder->build()
#2 /var/www/html/wp-content/plugins/wechat-social-login/includes/social/class-xh-social-ajax.php(209): XH_Social_Ajax::{closure}()
#3 /var/www/html/wp-includes/class-wp-hook.php(286): XH_Social_Ajax::captcha('')
#4 /var/www/html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)
#5 /var/www/html/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#6 /var/www/html/wp-admin/admin-ajax.php(99): do_action('wp_ajax_xh_soci...')
#7 {main}
thrown in /var/www/html/wp-content/plugins/wechat-social-login/includes/captcha/CaptchaBuilder.php on line 327
Web サイトのクエリ情報には次のように記載されています: グラフィック検証コード機能には、gd library
freetype のインストールが必要です。およびその他の依存関係については、phpinfo() の詳細情報を確認してください:
gd 拡張機能には freetype がありません:
phpinfo のメソッドを表示します()
php-info.php
を作成します。内容は次のとおりです:<?php phpinfo();
保存後、ドメイン名を使用して
https://action.liabio .cn/php-info.php などにアクセスすると、表示されます。 docker コンパイル イメージ
FROM wordpress:4.9.8
RUN echo 'deb http://mirrors.163.com/debian/ stretch main contrib non-free\ndeb http://mirrors.163.com/debian/ stretch-updates main contrib non-free\ndeb http://mirrors.163.com/debian/ stretch-backports main contrib non-free' > /etc/apt/sources.list
RUN apt update \
&& apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev \
&& docker-php-source extract \
&& cd /usr/src/php/ext/gd \
&& docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2 \
&& docker-php-ext-install gd \
&& php -m | grep gd
次のコンパイル コマンドを実行します: docker build -t wordpress-freetype:4.9.8 .結果はコンパイル エラーになります。 Docker コンパイル イメージ エラー レポート
OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:319: getting the final child's pid from pipe caused \"EOF\"": unknown私は 19.03.5 バージョンの docker を使用しているため、インターネット上の情報を確認しました。これは、大まかに言うと、実行するには 18 バージョンの docker が必要であることを意味します。エラーなしでコンパイルします。 案の定、18 バージョンの docker はエラーなしでコンパイルされました:
freetype と統合された新しいイメージを使用します
QRコードが正常に表示されたことがわかります。