
解决 docker php 容器中非 dockerfile 安装 event 扩展加载失败的问题
本文旨在解决在 ubuntu 服务器的 docker 容器中,使用非 dockerfile 方法安装 event 扩展时遇到的加载失败问题。
问题描述
执行以下步骤后,在 docker-php-ext-enable event 时出现加载失败:
1. docker-php-ext-install pdo_mysql opcache sockets 2. docker-php-ext-enable sockets 3. pecl install event 4. 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免费学习笔记(深入)”;
OpenClaw 技能 — 给定一个 GitHub 仓库 URL,自动解析出 owner/repo 名称,发现其中的 YAML/properties 配置文件及其配对的中文字段说明;在 `workspace/{repo}/` 目录下按同步日期(格式为 `YYYY-MM-DD`)创建时间戳子目录;写入 `.openclaw-config-state.json` 状态文件。每次用户提问前,先比对远程仓库当前 ref(如 `main` 或 `master`)的最新提交 SHA 与本地状态文件中记录的 SHA:
在执行 docker-php-ext-enable 时,使用 --ini-name 参数指定扩展配置名称。由于 php 中扩展启用顺序是按照文件名排序,因此通过指定一个字母顺序靠后的名称,可以确保 event 扩展在 sockets 扩展之后加载。
# 如果手动启用了 event 扩展,请先删除相应配置 rm /usr/local/etc/php/conf.d/docker-php-ext-event.ini docker-php-ext-enable --ini-name z999-docker-php-ext-event.ini event
效果
执行上述命令后,event 扩展将顺利加载。


















