
PHP Cli镜像提供了PHP命令行界面(Command Line Interface)运行环境,专注于在命令行模式下执行PHP脚本和应用程序。该镜像不包含Web服务器(如Apache、Nginx)组件,仅提供纯粹的PHP命令行执行环境,适用于各类PHP控制台应用、自动化脚本任务、开发调试及服务器端脚本运行场景。
php命令行工具,可直接执行PHP脚本、表达式及交互式模式7.4-cli、8.1-cli、8.2-cli等),适配不同项目需求拉取镜像
通过Docker Hub拉取官方PHP Cli镜像(以8.2版本为例):
bashdocker pull php:8.2-cli
查看PHP版本
验证PHP环境及版本:
bashdocker run --rm php:8.2-cli php -v
输出示例:
PHP 8.2.12 (cli) (built: Oct 27 2023 13:39:47) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.12, Copyright (c) Zend Technologies
运行本地PHP脚本
将本地脚本文件挂载到容器中执行(假设当前目录下有script.php):
bashdocker run --rm -v $(pwd):/app php:8.2-cli php /app/script.php
--rm:容器退出后自动删除-v $(pwd):/app:将当前主机目录挂载到容器内/app目录php /app/script.php:在容器内执行/app/script.php脚本交互式模式
启动PHP交互式shell:
bashdocker run -it --rm php:8.2-cli php -a
进入交互式模式后可直接输入PHP代码执行:
Interactive shell php > echo "Hello, PHP Cli"; Hello, PHP Cli php > exit
挂载自定义php.ini
通过挂载本地php.ini配置文件自定义PHP环境:
bashdocker run --rm -v $(pwd)/php.ini:/usr/local/etc/php/php.ini -v $(pwd):/app php:8.2-cli php /app/script.php
注:PHP Cli默认加载配置路径为
/usr/local/etc/php/php.ini,具体路径可通过php --ini命令查看
安装额外扩展
如需添加PHP扩展,可基于官方镜像构建自定义镜像(创建Dockerfile):
dockerfileFROM php:8.2-cli # 安装mysqli扩展示例 RUN docker-php-ext-install mysqli
构建并使用自定义镜像:
bashdocker build -t my-php-cli . docker run --rm my-php-cli php -m | grep mysqli
环境变量配置
通过环境变量调整PHP运行参数(如内存限制):
bashdocker run --rm -e PHP_MEMORY_LIMIT=512M php:8.2-cli php -r "echo ini_get('memory_limit');"
输出:512M
运行Laravel Artisan命令
bash# 假设当前目录为Laravel项目根目录 docker run --rm -v $(pwd):/app -w /app php:8.2-cli php artisan list
执行定时脚本任务
结合cron服务配置定时任务(示例docker-compose.yml):
yamlversion: '3' services: php-cli: image: php:8.2-cli volumes: - ./scripts:/scripts - ./cron.d:/etc/cron.d command: cron -f
注:需在
./cron.d目录中添加定时任务配置文件,如php-task:* * * * * root php /scripts/定时任务脚本.php >> /var/log/cron.log 2>&1
8.2-cli),避免使用latest标签导致版本变更风险


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务