
2000cubits/php-cliPHP 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环境及版本:
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
将本地脚本文件挂载到容器中执行(假设当前目录下有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环境:
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
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标签导致版本变更风险


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务