可以't在php:fpm-alpine中加载mysqlnd扩展



我正在尝试基于php:fpm alpine设置一个php映像。我希望php使用mysqlnd扩展。更好的说法是:我希望文件mysqlnd.so位于扩展文件夹/usr/local/lib/php/extensions/no-debug-non-zts-20190902中。不知怎么的,这似乎就是存储.so-文件的文件夹。

我在php conf.d文件夹中有一个.ini文件,用于启用扩展名:

; configuration for php mysql module
; priority=10
extension=mysqlnd

我的Dockerfile是这样的:

FROM php:fpm-alpine
RUN apk update --no-cache 
&& apk add --no-cache $PHPIZE_DEPS 
&& apk add --no-cache php-mysqlnd 
&& docker-php-ext-install mysqlnd 
&& docker-php-ext-enable mysqlnd 

当我试图构建图像时,它会停止输出(仅相关部分(:

#5 7.687 fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
#5 7.820 fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
#5 7.980 (1/3) Installing php7-common (7.3.24-r0)
#5 8.000 (2/3) Installing php7-openssl (7.3.24-r0)
#5 8.021 (3/3) Installing php7-mysqlnd (7.3.24-r0)
#5 8.048 OK: 255 MiB in 59 packages
#5 9.541 fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
#5 9.819 fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
#5 10.15 (1/1) Installing .phpize-deps (20201122.190848)
#5 10.16 OK: 255 MiB in 60 packages
#5 10.22 Cannot find config.m4. 
#5 10.22 Make sure that you run '/usr/local/bin/phpize' in the top level source directory of the module
#5 10.22 
------

错误基本上是:

#5 10.22 Cannot find config.m4.

Make sure that you run '/usr/local/bin/phpize' in the top level source directory of the module

我还创建了一个没有mysqlnd的正常运行的映像,并尝试从cointainer的cli手动安装它。它也不起作用。

我们将不胜感激,因为我似乎无法使它发挥作用。

发生这种情况是因为您不必安装它,它已经在中了

运行此命令

docker run -ti php:fpm-alpine php -i | grep mysqlnd

产生此输出:

Configure Command =>  './configure'  '--build=x86_64-linux-musl' '--with-config-file-path=/usr/local/etc/php' '--with-config-file-scan-dir=/usr/local/etc/php/conf.d' '--enable-option-checking=fatal' '--with-mhash' '--with-pic' '--enable-ftp' '--enable-mbstring' '--enable-mysqlnd' '--with-password-argon2' '--with-sodium=shared' '--with-pdo-sqlite=/usr' '--with-sqlite3=/usr' '--with-curl' '--with-libedit' '--with-openssl' '--with-zlib' '--with-pear' '--enable-fpm' '--with-fpm-user=www-data' '--with-fpm-group=www-data' '--disable-cgi' 'build_alias=x86_64-linux-musl'
mysqlnd
mysqlnd => enabled
Version => mysqlnd 7.4.12
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password

其中重要部分是:

mysqlnd => enabled
Version => mysqlnd 7.4.12

最新更新