versi wordpress: wordpress: versi 4.9.8
versi php: v7.2.12
Imej dockcer ialah: wordpress:4.9.8
Kod pengesahan grafik tidak boleh dimuatkan
Apabila saya baru-baru ini menggunakan wordpress untuk membina tapak web, saya menggunakan pemalam wechat-social-login
untuk melaksanakan fungsi log masuk 微信、QQ、钉钉、Github
Apabila dibuka Selepas menggunakan fungsi kod pengesahan grafik, saya melihat bahawa kod QR grafik tidak boleh dimuatkan F12
Saya melihat kod status adalah 200, tetapi ada tiada nilai pulangan dan ralat dilaporkan This request has no response data available
Selepas membuka wordpress log, saya mendapati ralat berikut dilaporkan dalam fail log debug
. Untuk cara mendayakan log nyahpepijat, sila pergi ke artikel sejarah Cara mendayakan mod penyahpepijatan WordPress (gesaan ralat) dan cetak log ke wp-content
dalam direktori 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
Maklumat pertanyaan tapak web mengatakan: Fungsi kod pengesahan grafik memerlukan pemasangan kebergantungan seperti gd库
dan freetype
Anda boleh lihat maklumat terperinci melalui phpinfo() Di sini: gd扩展没有freetype
:
Lihat kaedah phpinfo()
Cipta fail php-info.php
baharu dalam direktori akar tapak web, Kandungannya ialah:
<?php phpinfo();
Selepas menyimpan, aksesnya dengan nama domain, seperti https://action.liabio.cn/php-info.php
, dan anda boleh melihatnya.
imej kompilasi docker
Fail Dockerfile adalah seperti berikut:
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
Laksanakan arahan kompilasi berikut:
docker build -t wordpress-freetype:4.9.8 .
Hasilnya ialah ralat penyusunan.
Docker menyusun imej dan melaporkan ralat
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
Kerana saya menggunakan versi 19.03.5 docker dan saya menyemak maklumat dalam talian Maksud umum ialah saya memerlukan 18 versi docker untuk menyusun tanpa ralat.
Sudah pasti, versi 18 docker disusun tanpa ralat:
Gunakan imej baharu yang disepadukan dengan freetype
Gunakan imej baharu Akhirnya, anda boleh melihat bahawa jenis bebas berjaya disepadukan.
Anda boleh melihat bahawa kod QR telah berjaya dipaparkan.