# php 开发 基于 docker ,快速切换 php 版本开发环境,如,项目需要在 php7.4 环境下开发,可以使用以下方式: ```bash chmod -R 777 . docker run --rm -it -v $(pwd):/var/www/html -p 9000:80 php:8.3.6-apache docker run --rm -it -v $(pwd):/var/www/html -p 9000:80 php:8.1.8-apache docker run --rm -it -v $(pwd):/var/www/html -p 9000:80 php:7.4.27-apache docker run --rm -it -v $(pwd):/var/www/html -p 9000:80 php:5.6.38-apache ``` 开发环境需要 composer,启动下面容器即可: ```bash #php8+xdebug+composer mkdir -p php-demo chmod 777 php-demo && cd php-demo docker run --rm -it -w /var/www/html -v $(pwd):/var/www/html -p 8000:8000 sineverba/php8xc:1.18.0 /bin/bash cd /var/www/html ``` laravel 项目使用下面容器,可以添加 `docker-compose.yaml` 配置一并启动数据库: ``` # https://hub.docker.com/r/bitnami/laravel docker run --rm -it -v $(pwd):/app -p 8000:8000 bitnami/laravel:latest docker run -d --name laravel \ -p 8000:8000 \ --env DB_HOST=mariadb \ --env DB_PORT=3306 \ --env DB_USERNAME=bn_myapp \ --env DB_DATABASE=bitnami_myapp \ --network laravel-network \ --volume ${PWD}/my-project:/app \ bitnami/laravel:latest ``` php 命令行项目工具: ``` docker run --rm -it -w /var/www/html -v $(pwd):/var/www/html -v $(pwd)/Downloads:/root/Downloads/MusicDL/ -p 9000:80 php:8.1.8-apache /bin/bash docker run --rm -it -w /var/www/html -v /workspace:/app php:7.4 /bin/bash thinkphp new demo thinkphp serve ``` - -v /workspace:/app 挂载本地目录到容器内,/workspace 为本地目录,/app 为容器内目录 ### 额外配置 - 安装 composer ```bash docker run --rm -it -v /workspace:/app composer:latest /bin/bash ``` ### 数据库 基于 docker-compose,启动 mysql, adminer, redis等等 ```bash docker-compose up -d ``` 参考 template 代码即可 ### 基于 swoole ```bash docker run --rm -it -v /workspace:/app swoole:latest /bin/bash ``` ### 基于 laravel ```bash docker run --rm -it -v /workspace:/app composer:latest /bin/bash composer create-project --prefer-dist laravel/laravel blog ``` ### 基于 thinkphp ```bash docker run --rm -it -v /workspace:/app composer:latest /bin/bash composer create-project topthink/think demo ``` ### 基于 yii ```bash docker run --rm -it -v /workspace:/app composer:latest /bin/bash composer create-project --prefer-dist yiisoft/yii2-app-basic demo ``` ## 数据库 通过docker快速启动一个测试数据库: ``` ``` ## Rust