#!/bin/bash # 设置错误时立即退出 set -e # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 日志函数 log_info() { echo -e "${GREEN}[INFO]${NC} $1" } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1" } log_error() { echo -e "${RED}[ERROR]${NC} $1" } # 安装Docker和Docker Compose install_docker() { log_info "安装Docker和Docker Compose..." # 安装Docker curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh rm get-docker.sh # 安装Docker Compose sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose # 将当前用户添加到docker组 sudo usermod -aG docker $USER log_info "Docker和Docker Compose安装完成" } # 克隆DNMP仓库 clone_dnmp() { log_info "克隆DNMP仓库..." # 创建项目目录 mkdir -p ~/projects cd ~/projects # 克隆DNMP仓库 git clone https://github.com/yeszao/dnmp.git cd dnmp # 复制环境配置文件 cp env.sample .env log_info "DNMP仓库克隆完成" } # 配置DNMP configure_dnmp() { log_info "配置DNMP..." cd ~/projects/dnmp # 修改.env文件 sed -i 's/PHP_VERSION=7.4/PHP_VERSION=8.2/' .env sed -i 's/MYSQL_VERSION=5.7/MYSQL_VERSION=8.0/' .env sed -i 's/REDIS_VERSION=4.0/REDIS_VERSION=7.0/' .env # 创建网站目录 mkdir -p www # 创建默认网站 cat > www/index.php << EOF > ~/.zshrc << EOF # Composer配置 export PATH="\$HOME/.composer/vendor/bin:\$PATH" EOF log_info "PHP开发环境配置完成" } # 主函数 main() { log_info "开始安装PHP开发环境..." # 安装Docker和Docker Compose install_docker # 克隆DNMP仓库 clone_dnmp # 配置DNMP configure_dnmp # 启动DNMP start_dnmp # 配置PHP开发环境 configure_php_dev log_info "PHP开发环境安装完成!" log_info "请运行 'source ~/.zshrc' 或重新打开终端以使环境变量生效。" log_info "访问 http://localhost 查看PHP信息页面。" log_info "默认MySQL密码:123456" log_info "默认Redis密码:123456" } # 执行主函数 main