🗣 Wd提问: php环境搭建shell脚本
🤖 Ai回答: 以下是一个完整的PHP环境搭建Shell脚本,适用于Ubuntu/Debian系统:
bash
!/bin/bash
PHP环境搭建脚本
支持PHP 7.4, 8.0, 8.1, 8.2版本选择
自动安装Apache/Nginx、MySQL/MariaDB、PHP及相关扩展
set -e 遇到错误时退出
颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' No Color
print_info() {
echo -e ${BLUE}[INFO]${NC} $1
}
print_success() {
echo -e ${GREEN}[SUCCESS]${NC} $1
}
print_warning() {
echo -e ${YELLOW}[WARNING]${NC} $1
}
print_error() {
echo -e ${RED}[ERROR]${NC} $1
}
检查是否为root用户
if [ $EUID -ne 0 ]; then
print_error 请以root权限运行此脚本
exit 1
fi
检查系统类型
OS=$(lsb_release -si 2/dev/null echo Unknown)
if [ $OS != Ubuntu ] && [ $OS != Debian ]; then
print_error 仅支持Ubuntu/Debian系统
exit 1
fi
更新系统
print_info 更新系统包列表...
apt update
安装基础工具
print_info 安装基础工具...
apt install -y wget curl unzip git vim nano
选择PHP版本
echo
echo 请选择PHP版本:
echo 1) PHP 7.4
echo 2) PHP 8.0
echo 3) PHP 8.1
echo 4) PHP 8.2
read -p 请输入选项 (默认: 8.2): PHP_VERSION
case $PHP_VERSION in
1) PHP_VERSION=7.4 ;;
2) PHP_VERSION=8.0 ;;
3) PHP_VERSION=8.1 ;;
4) PHP_VERSION=8.2 ;;
*) PHP_VERSION=8.2 ;;
esac
print_info 选择的PHP版本: $PHP_VERSION
安装PHP及常用扩展
print_info 安装PHP $PHP_VERSION 及相关扩展...
apt install -y php$PHP_VERSION php$PHP_VERSION-common php$PHP_VERSION-cli php$PHP_VERSION-fpm \
php$PHP_VERSION-mysql php$PHP_VERSION-mbstring php$PHP_VERSION-xml php$PHP_VERSION-curl \
php$PHP_VERSION-gd php$PHP_VERSION-bcmath php$PHP_VERSION-intl php$PHP_VERSION-soap \
php$PHP_VERSION-zip php$PHP_VERSION-opcache php$PHP_VERSION-redis php$PHP_VERSION-memcached
选择Web服务器
echo
echo 请选择Web服务器:
echo 1) Apache (推荐用于开发)
echo 2) Nginx (推荐用于生产)
read -p 请输入选项 (默认: Apache): WEB_SERVER
case $WEB_SERVER in
2) WEB_SERVER=nginx ;;
*) WEB_SERVER=apache2 ;;
esac
print_info 选择的Web服务器: $WEB_SERVER
安装Web服务器
if [ $WEB_SERVER = apache2 ]; then
print_info 安装Apache...
apt install -y apache2 libapache2-mod-php$PHP_VERSION
启用PHP模块
a2enmod rewrite
systemctl enable apache2
systemctl start apache2
elif [ $WEB_SERVER = nginx ]; then
print_info 安装Nginx...
apt install -y nginx
配置Nginx
cat /etc/nginx/sites-available/default << 'EOF'
server {
listen 80;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php$PHP_VERSION-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
EOF
systemctl enable nginx
systemctl start nginx
fi
安装数据库
echo
echo 请选择数据库:
echo 1) MySQL (推荐)
echo 2) MariaDB (推荐)
read -p 请输入选项 (默认: MySQL): DATABASE
case $DATABASE in
2) DATABASE=mariadb-server ;;
*) DATABASE=mysql-server ;;
esac
print_info 安装数据库: $DATABASE...
apt install -y $DATABASE
设置MySQL/MariaDB密码
print_info 设置数据库密码...
debconf-set-selections <<< mysql-server mysql-server/root_password password your_password
debconf-set-selections <<< mysql-server mysql-server/root_password_again password your_password
启动数据库服务
systemctl enable $DATABASE
systemctl start $DATABASE
安装Composer
print_info 安装Composer...
curl -sS https://getcomposer.org/installer | php install-dir=/usr/local/bin filename=composer
创建测试文件
print_info 创建PHP测试文件...
cat /var/www/html/info.php << 'EOF'
<?php
phpinfo();
?
EOF
设置权限
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
显示完成信息
print_success PHP环境搭建完成!
echo
echo 访问方式:
echo Web服务器: http://localhost
echo PHP信息: http://localhost/info.php
echo
echo 配置文件位置:
echo PHP配置: /etc/php/$PHP_VERSION/apache2/php.ini 或 /etc/php/$PHP_VERSION/cli/php.ini
echo Apache配置: /etc/apache2/apache2.conf 或 /etc/nginx/nginx.conf
echo
echo 服务管理命令:
echo 启动Apache: systemctl start apache2
echo 启动Nginx: systemctl start nginx
echo 启动MySQL: systemctl start mysql
echo 查看状态: systemctl status apache2|nginx|mysql
可选:安装PHPMyAdmin
echo
read -p 是否安装PHPMyAdmin? (y/N): INSTALL_PHPMYADMIN
if [[ $INSTALL_PHPMYADMIN =~ ^[Yy]$ ]]; then
print_info 安装PHPMyAdmin...
apt install -y phpmyadmin
配置PHPMyAdmin连接
ln -sf /usr/share/phpmyadmin /var/www/html/phpmyadmin
print_success PHPMyAdmin已安装,访问: http://localhost/phpmyadmin
fi
exit 0
使用方法:
1、保存脚本:
bash
nano php-env-setup.sh
粘贴脚本内容,保存退出
chmod +x php-env-setup.sh
2、运行脚本:
bash
sudo ./php-env-setup.sh
3、按提示选择:
PHP版本(7.4/8.0/8.1/8.2)
Web服务器(Apache/Nginx)
数据库(MySQL/MariaDB)
功能特点:
✅ 自动检测系统类型
✅ 多版本PHP支持
✅ Apache/Nginx可选
✅ MySQL/MariaDB可选
✅ 常用PHP扩展自动安装
✅ Composer一键安装
✅ 测试文件自动生成
✅ 服务自动启动
注意事项:
⚠️ 脚本会覆盖现有配置,请在干净环境中使用
⚠️ 数据库密码为 `your_password`,请修改
⚠️ 生产环境建议调整安全配置
⚠️ 需要root权限运行
这个脚本可以快速搭建一个完整的PHP开发环境!
📣 商家广告:





0
IP地址: 212.253.118.87
搜索次数: 0
提问时间: 2025-11-12 01:49:31
🛒 域名购买:
lw.gs
cdn.hk.cn
yrnz.cn
e-d.cn
523.net.cn
che.red
63.gold
70.gs
s-y.com.cn
jgfc.cn
❓️ 热门提问:
怎么查看域名是在哪里注册的
成都电信vps
机柜负载多大合理
微模块机房设计
ERP源码开发
websocket服务器端
网站韩国服务器
站群SEO网站SEO审计
国内服务器代理
海外云服务器哪个便宜
豌豆Ai站群搜索引擎系统
🌐 域名评估:
ptkp.cn
mqwy.cn
app.hl.cn
p.tw.cn
oppo.nx.cn
zkao.cn
djpb.cn
eelp.cn
史客郎.中国
ee.js.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
サーチエンジンプログラム
百度关键词优化
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。