PHP前端开发

Docker PHP容器:非Dockerfile安装event扩展失败如何解决?

百变鹏仔 3天前 #PHP
文章标签 如何解决

解决 docker php 容器中非 dockerfile 安装 event 扩展加载失败的问题

本文旨在解决在 ubuntu 服务器的 docker 容器中,使用非 dockerfile 方法安装 event 扩展时遇到的加载失败问题。

问题描述

执行以下步骤后,在 docker-php-ext-enable event 时出现加载失败:

1. docker-php-ext-install pdo_mysql opcache sockets2. docker-php-ext-enable sockets3. pecl install event4. docker-php-ext-enable event

错误提示:

warning: php startup: unable to load dynamic library 'event' ...

解决方法

参考 github 上的 issue [857](https://github.com/docker-library/php/issues/857),可以发现以下解决方案:

立即学习“PHP免费学习笔记(深入)”;

在执行 docker-php-ext-enable 时,使用 --ini-name 参数指定扩展配置名称。由于 php 中扩展启用顺序是按照文件名排序,因此通过指定一个字母顺序靠后的名称,可以确保 event 扩展在 sockets 扩展之后加载。

# 如果手动启用了 event 扩展,请先删除相应配置rm /usr/local/etc/php/conf.d/docker-php-ext-event.inidocker-php-ext-enable --ini-name z999-docker-php-ext-event.ini event

效果

执行上述命令后,event 扩展将顺利加载。