在云服务器上搭建PHP环境是许多开发者和企业部署Web应用的基础步骤,以下是详细的操作指南,涵盖环境选择、软件安装、配置优化及安全设置等内容,帮助您顺利完成搭建。

环境选择与准备工作
在开始搭建前,需明确PHP运行环境类型,常见有LAMP(Linux+Apache+MySQL+PHP)、LNMP(Linux+Nginx+MySQL+PHP)和LEMP(Linux+Nginx+MariaDB+PHP)等,LNMP因Nginx的高并发性能和低资源占用成为主流选择,确保云服务器已安装Linux操作系统(如Ubuntu 20.04或CentOS 7),并通过SSH工具远程登录服务器,推荐使用具备root权限的账户操作,或通过sudo
命令提升权限。
安装基础依赖
无论选择LAMP还是LNMP,均需先安装编译工具和依赖库,以Ubuntu为例,执行以下命令:
sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential curl libxml2-dev libpng-dev libonig-dev libzip-dev
对于CentOS系统,需替换为:
sudo yum update -y sudo yum groupinstall -y "Development Tools" sudo yum install -y curl libxml2-devel libpng-devel oniguruma-devel libzip-devel
这些依赖是编译PHP扩展及运行Web服务器的必要基础。

安装PHP及扩展
安装PHP
推荐使用PHP官方源或包管理器安装最新稳定版,以Ubuntu为例:
sudo apt install -y php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
若需特定版本(如PHP 8.1),可添加PPA源:
sudo add-apt-repository ppa:ondrej/php -y sudo apt update sudo apt install -y php8.1 php8.1-fpm php8.1-mysql
对于CentOS,可使用EPEL源和Remi仓库:
sudo yum install -y epel-release http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum install -y php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip
配置PHP-FPM
安装完成后,编辑PHP-FPM配置文件(如/etc/php/8.1/fpm/php.ini
),调整关键参数:

memory_limit = 256M upload_max_filesize = 32M post_max_size = 32M max_execution_time = 300 date.timezone = Asia/Shanghai
保存后重启PHP-FPM服务:
sudo systemctl restart php8.1-fpm
安装Web服务器(以Nginx为例)
安装Nginx
Ubuntu系统:
sudo apt install -y nginx
CentOS系统:
sudo yum install -y nginx
配置Nginx虚拟主机
创建站点配置文件(如/etc/nginx/sites-available/your_domain
):
server { listen 80; server_name your_domain.com; root /var/www/your_project; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
启用配置并重启Nginx:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl restart nginx
安装数据库(以MySQL为例)
安装MySQL
Ubuntu系统:
sudo apt install -y mysql-server
CentOS系统:
sudo yum install -y mysql-server
安全配置
执行安全脚本设置root密码和匿名用户:
sudo mysql_secure_installation
根据提示完成配置,建议删除匿名用户、禁止root远程登录并移除测试数据库。
创建PHP数据库和用户
登录MySQL:
sudo mysql -u root -p
执行SQL命令:
CREATE DATABASE your_database; CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
测试环境
在Web根目录(如/var/www/your_project
)创建info.php
文件:
<?php phpinfo(); ?>
通过浏览器访问http://your_server_ip/info.php
,若显示PHP配置信息,则环境搭建成功,测试完成后删除该文件以避免信息泄露。
安全优化建议
- 防火墙配置:使用
ufw
(Ubuntu)或firewalld
(CentOS)限制端口访问,仅开放80、443及SSH端口。 - 定期更新:定期执行
sudo apt update && sudo apt upgrade
或sudo yum update
更新系统及软件包。 - 禁用危险函数:在
php.ini
中设置disable_functions = exec,passthru,shell_exec,system
,提升安全性。
常见问题排查
- 502 Bad Gateway:检查PHP-FPM服务是否运行,确认
fastcgi_pass
路径是否正确。 - 权限问题:确保Web服务器用户(如
www-data
或nginx
)对项目目录有读写权限:sudo chown -R www-data:www-data /var/www/your_project sudo chmod -R 755 /var/www/your_project
相关问答FAQs
Q1: 如何切换PHP版本?
A1: 若通过PPA或Remi仓库安装多版本PHP,可使用update-alternatives
(Ubuntu)或yum
(CentOS)管理版本,例如Ubuntu下:
sudo update-alternatives --config php
选择目标版本后,重启Nginx和PHP-FPM服务即可生效。
Q2: 如何启用PHP的OPcache加速?
A2: 编辑PHP配置文件(如php.ini
),取消注释并设置以下参数:
opcache.enable=1 opcache.memory_consumption=128 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60
保存后重启PHP-FPM服务,可通过phpinfo()
查看OPcache是否启用成功。