php.md 2.5 KB

php 开发

基于 docker ,快速切换 php 版本开发环境,如,项目需要在 php7.4 环境下开发,可以使用以下方式:


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,启动下面容器即可:

#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

    docker run --rm -it -v /workspace:/app composer:latest /bin/bash
    

数据库

基于 docker-compose,启动 mysql, adminer, redis等等

docker-compose up -d

参考 template 代码即可

基于 swoole

docker run --rm -it -v /workspace:/app swoole:latest /bin/bash

基于 laravel

docker run --rm -it -v /workspace:/app composer:latest /bin/bash

composer create-project --prefer-dist laravel/laravel blog

基于 thinkphp


docker run --rm -it -v /workspace:/app composer:latest /bin/bash

composer create-project topthink/think demo

基于 yii


docker run --rm -it -v /workspace:/app composer:latest /bin/bash

composer create-project --prefer-dist yiisoft/yii2-app-basic demo

数据库

通过docker快速启动一个测试数据库:


Rust