Wordpress-Version: WordPress:4.9.8-Version
PHP-Version: v7.2.12
Dockcer-Spiegel ist: WordPress:4.9.8
Der grafische Bestätigungscode kann nicht geladen werden
Als ich kürzlich WordPress zum Erstellen einer Website verwendet habe, habe ich das Plug-in wechat-social-login
verwendet, um WeChat zu implementieren , QQ, DingTalk, Github
-Anmeldefunktion, nach dem Einschalten der grafischen Bestätigungscodefunktion sehe ich, dass der grafische QR-Code nicht geladen werden kann F12
Ich sehe, dass der Statuscode 200 ist. aber es gibt keinen Rückgabewert und es wird ein Fehler gemeldet Für diese Anfrage sind keine Antwortdaten verfügbar
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
Nach dem Öffnen des WordPress-Protokolls, Ich habe den folgenden Fehler in der Protokolldatei debug
gefunden. Informationen zum Aktivieren des Debug-Protokolls finden Sie im historischen Artikel „So aktivieren Sie den WordPress-Debugging-Modus (Fehleraufforderung)“ und drucken Sie das Protokoll in debug.log
im wp-content
aus > 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 gdDie Website-Abfrageinformationen besagen: Die grafische Verifizierungscodefunktion erfordert die Installation von
gd-Bibliothek
und freetype
sowie anderen Abhängigkeiten, die sein können angezeigt über phpinfo() In den detaillierten Informationen: gd extension has not have freetype
:
Sehen Sie sich die phpinfo()-Methode an
Erstellen Sie eine neue php-info Im Stammverzeichnis der Website.php
-Datei lautet der Inhalt:
docker build -t wordpress-freetype:4.9.8 .
Greifen Sie nach dem Speichern mit dem Domänennamen 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\"": unknownFühren Sie den folgenden Kompilierungsbefehl aus:
rrreeeDas Ergebnis ist ein Kompilierungsfehler.