基于 CNB 默认开发环境构建,内置 PHP 7.4 与 PHP 8.1 多版本共存,使用 phpenv 进行版本管理,支持 项目级自动切换 PHP 版本,默认启用 PHP 8.1,适用于多项目并行开发场景。
docker.cnb.cool/scaffold/examples/php:latestdocker.cnb.cool/scaffold/examples/defaultworkenv:latestphpenv(类 nvm / pyenv)PHP 版本:
PHP 7.4.xPHP 8.1.x默认版本: PHP 8.1
PHP 版本管理: phpenv
PHP 包管理: Composer
调试支持:
mbstring、curl、xml、mysql、zip、bcmath 等)开发插件(已内置):
Intelephense(智能提示)PHP Debug(断点调试)Namespace Resolver(命名空间导入)PHP DocBlocker(注释生成)main:
vscode:
- docker:
image: docker.cnb.cool/scaffold/examples/php:latest
services:
- vscode
- docker
php -v
默认输出 PHP 8.1.x。
phpenv versions
phpenv global 7.4.x phpenv global 8.1.x
切换后,php / composer / phpize 会同步生效。
在项目根目录创建 .php-version 文件:
echo "7.4.x" > .php-version
进入该目录后,PHP 版本会 自动切换:
cd project-a
php -v # PHP 7.4
cd ../project-b
php -v # PHP 8.1
无需手动切换,适合同时开发多个 PHP 项目。
PHPENV_VERSION=7.4.x php -v PHPENV_VERSION=8.1.x php -v
composer install
Composer 会自动使用 当前 phpenv 选中的 PHP 版本,无需额外配置。
多版本共存 PHP 7.4 / 8.1 同时存在,互不干扰,满足旧项目与新项目并行开发需求
项目级自动切换
使用 .php-version 文件,实现目录级 PHP 版本控制,避免频繁手动切换
即装即用 Composer、Xdebug、调试扩展已集成,开箱即用
跨版本开发体验一致 同一开发环境下可同时维护 Laravel 7 / Laravel 10、ThinkPHP、Yii 等不同技术栈项目