WordPress-Version: WordPress: Version 4.9.8wechat-social-login
插件实现QQ微信钉钉Github手机号登陆wordpress版本:wordpress:4.9.8版本
php版本:v7.2.12
dockcer镜像为:wordpress:4.9.8
图形验证码加载不出来
最近利用wordpress建站的时候,用到了wechat-social-login
插件实现微信、QQ、钉钉、Github
登陆功能时,开启图形验证码功能后,看到图形二维码一直加载不出来,F12
看到状态码为200,但没有返回值,报错This request has no response data available
打开wordpress日志后,发现debug
日志文件中报以下的错误。开启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
网站查询资料说:图形验证码功能需要安装gd库
和freetype
等依赖,通过phpinfo()查看到详细信息里:gd扩展没有freetype
:
查看phpinfo()的方法
在网站的根目录下新建一个php-info.php
的文件,内容为:
<?php phpinfo();
保存后,用域名访问,如https://action.liabio.cn/php-info.php
PHP-Version: v7.2.12
Dockcer-Spiegel ist: WordPress:4.9.8
Der grafische Bestätigungscode kann nicht geladen werden
Als ich WordPress zum Erstellen eines verwendet habe Auf der Website habe ich kürzlich das Plug-in wechat-social- Login
verwendet, um die Anmeldefunktion von WeChat, QQ, DingTalk und Github
zu implementieren, nachdem ich den grafischen Bestätigungscode aktiviert habe Funktion, der grafische QR-Code kann nicht geladen werden, F12
code>Siehe, der Statuscode ist 200, aber es gibt keinen Rückgabewert und es wird ein Fehler gemeldetFür diese Anfrage sind keine Antwortdaten verfügbar Code>
Nach dem Öffnen des WordPress-Protokolls habe ich den folgenden Fehler im gefunden debug
Protokolldatei. Informationen zum Aktivieren des Debug-Protokolls finden Sie im historischen Artikel So aktivieren Sie den WordPress-Debugging-Modus (Fehleraufforderung) und drucken das Protokoll in debug.log
im wp-content
Verzeichnis.
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
Die Website-Abfrageinformationen besagen: Die grafische Verifizierungscodefunktion erfordert die Installation von Abhängigkeiten wie gd-Bibliothek
und freetype , überprüfen Sie die detaillierten Informationen über phpinfo(): <code>gd extension has not have freetype
:
Sehen Sie sich die phpinfo()-Methode an at Erstellen Sie eine neue Datei php-info.php
im Stammverzeichnis der Website. Der Inhalt lautet:
docker build -t wordpress-freetype:4.9.8 .
Nach dem Speichern greifen Sie mit dem Domainnamen darauf zu, z. B. https: //action.liabio.cn/php -info.php
, Sie können es sehen. Das
Docker-KompilierungsbildDie Dockerfile-Datei lautet wie folgt: 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
Führen Sie den folgenden Kompilierungsbefehl aus: 🎜rrreee🎜Das Ergebnis ist ein Kompilierungsfehler. 🎜🎜Docker kompiliert das Image und meldet einen Fehler🎜rrree🎜Da ich die 19.03.5-Version von Docker verwende, habe ich die Informationen im Internet überprüft. Die allgemeine Bedeutung ist, dass ich die 18. Version von Docker benötige, um fehlerfrei zu kompilieren. 🔜 🎜🎜🎜🎜🎜Sie können sehen, dass der QR-Code erfolgreich angezeigt wurde. 🎜🎜🎜🎜🎜🎜
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Anmeldung mit QQ-, WeChat-, DingTalk- und Github-Mobilnummern in WordPress. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!