fbraz3/php-cliBraz PHP Docker项目提供一系列针对各种PHP环境和用例的Docker镜像。
通过提供针对不同框架和工具(如Vanilla PHP、Composer、Symfony、WP-CLI和Phalcon)的预配置镜像,它简化了PHP开发环境的搭建过程。
这些镜像支持多个PHP版本和架构,确保为开发者提供兼容性和灵活性。
我们还提供了AI生成的DeepWiki页面,包含更多技术信息。
💡 有关可用镜像的完整列表,请访问PHP System Docs页面。
要使用这些镜像,您可以从Docker Hub拉取并结合PHP脚本或命令运行。以下是使用示例:
| Docker镜像 | 入口点 | 命令示例 | 构建状态 |
|---|---|---|---|
| php-cli | /usr/bin/php | docker run -v $pwd:/workspace --rm fbraz3/php-cli:8.4 myscript.php | 运行。如需以root用户运行命令,可在启动容器时使用--user标志。
若需向挂载卷写入文件,请确保php用户具有必要权限。可通过以下命令将挂载目录所有权设置为php用户:
shchown -R 1000:1000 /path/to/your/directory
另一种解决方法是在启动容器前将挂载目录权限设为777,允许所有用户读写执行该目录中的文件。但出于安全考虑,不建议在生产环境中使用此方法。
还可通过--user标志以root用户运行容器,但同样不建议在生产环境中使用。
容器默认工作目录为/workspace,可通过Dockerfile中的WORKDIR环境变量或启动容器时设置该变量更改。
所有镜像均预安装并配置了ssmtp用于发送邮件。默认SMTP服务器为localhost(端口25)。可使用PHP的mail()函数从容器发送邮件。
建议将默认SMTP服务器更改为您自己的SMTP服务器。可在启动容器时设置SMTP环境变量,例如:
shdocker run -v $pwd:/workspace -e SMTP_MAIL_SERVER=smtp.example.com -e SMTP_AUTH_USER=username -e SMTP_AUTH_PASSWORD=password --rm fbraz3/php-cli:8.4 mail_sending.php
‼️注意:避免在命令行中设置密码,请改用.env文件。
例如,创建包含以下内容的.env文件:
envSMTP_MAIL_SERVER=smtp.example.com SMTP_AUTH_USER=username SMTP_AUTH_PASSWORD=password
然后使用--env-file选项启动容器:
shdocker run -v $pwd:/workspace --env-file .env --rm fbraz3/php-cli:8.4 mail_sending.php
要查看所有可用于邮件发送的环境变量,请检查文件ssmtp.sh。
也可参考ssmtp文档获取更多配置信息。
欢迎贡献!如有改进建议,可提交issue或pull request。
请查看CONTRIBUTING.md了解贡献指南。
我花费大量时间和精力维护此项目。如果您觉得它有用,可通过以下方式支持我:
本项目基于Apache License 2.0许可,可用于个人和商业项目。但请注意,镜像按"原样"提供,不提供任何形式的担保或保证。使用风险自负。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务