Linux服务器安装PHP的完整指南从环境准备到配置优化
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
本文详细介绍在Linux服务器上安装PHP的完整流程,涵盖环境准备、依赖安装、源码或包管理器安装PHP、基本配置及性能优化,内容包括选择合适的PHP版本、配置Web服务器(如Apache或Nginx)与PHP协同工作,以及php.ini关键参数调优,确保系统安全与高效运行,适用于搭建生产环境的PHP应用服务。
在当今的Web开发领域,PHP作为一种成熟且广泛应用的服务器端脚本语言,依然是构建动态网站和Web应用的重要技术之一,无论是搭建WordPress、Laravel项目,还是部署自定义的PHP应用,都需要一个稳定可靠的运行环境,而Linux服务器因其稳定性、安全性和开源特性,成为部署PHP应用的首选平台,本文将详细介绍如何在Linux服务器上安装和配置PHP,涵盖主流发行版(如Ubuntu/Debian和CentOS/RHEL),并提供常见问题的解决方案与性能优化建议。
准备工作:选择合适的Linux发行版
在开始安装PHP之前,首先要确保你有一台可用的Linux服务器,目前最常见的发行版包括:
- Ubuntu/Debian系列:以用户友好、更新频繁著称,适合初学者。
- CentOS/RHEL系列:企业级稳定系统,广泛用于生产环境。
本文将以 Ubuntu 22.04 LTS 和 CentOS Stream 9 为例进行演示,无论使用哪种系统,首要任务是更新系统软件包,确保系统处于最新状态。
更新系统(以Ubuntu为例):
sudo apt update && sudo apt upgrade -y
对于CentOS:
sudo dnf update -y
安装PHP的方法
Linux下安装PHP有多种方式,最常用的是通过系统自带的包管理器(APT或DNF/YUM)安装,也可通过编译源码或使用第三方仓库(如Remi)获取更高版本。
方法1:使用默认仓库安装(适用于快速部署)
Ubuntu安装PHP:
sudo apt install php -y
该命令会安装PHP的默认版本(Ubuntu 22.04中为PHP 8.1),若需特定扩展,可追加安装,
sudo apt install php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
CentOS安装PHP:
sudo dnf install php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-json -y
CentOS默认仓库中的PHP版本可能较旧(如PHP 7.4),若需新版,推荐使用Remi仓库。
方法2:使用Remi仓库安装最新版PHP(推荐)
Remi是一个广受信赖的第三方RPM仓库,提供最新版本的PHP。
在CentOS/RHEL中启用Remi仓库:
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y sudo dnf module reset php -y sudo dnf module enable php:8.2 -y # 或其他版本如8.1、8.3 sudo dnf install php php-cli php-fpm php-mysqlnd php-opcache php-devel -y
在Ubuntu中使用Ondrej PPA:
sudo add-apt-repository ppa:ondrej/php -y sudo apt update sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip -y
此方法可确保安装到最新的稳定版本,支持长期维护。
验证PHP安装
安装完成后,可通过以下命令验证PHP是否正常工作:
php --version
输出应类似:
PHP 8.2.10 (cli) (built: Sep 12 2023 14:30:00) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
with Zend OPcache v8.2.10, Copyright (c), by Zend Technologies
可创建一个测试文件来检查Web服务中的PHP解析能力:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
然后通过浏览器访问 http://your-server-ip/info.php,若显示PHP信息页面,则说明配置成功。
配置PHP与Web服务器集成
PHP需要与Web服务器(如Apache或Nginx)配合使用。
与Apache集成
在Ubuntu/CentOS中安装Apache:
sudo apt install apache2 -y # Ubuntu sudo dnf install httpd -y # CentOS
Apache通常自动加载PHP模块,重启服务即可:
sudo systemctl restart apache2 # Ubuntu sudo systemctl restart httpd # CentOS
与Nginx + PHP-FPM集成(高性能方案)
Nginx不直接处理PHP,需通过PHP-FPM(FastCGI Process Manager)代理。
安装Nginx和PHP-FPM:
sudo apt install nginx php8.2-fpm -y # Ubuntu sudo dnf install nginx php-fpm -y # CentOS
启动并启用服务:
sudo systemctl start nginx php8.2-fpm sudo systemctl enable nginx php8.2-fpm
配置Nginx站点文件(以 /etc/nginx/sites-available/default 为例),添加如下location块:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
保存后测试配置并重启Nginx:
sudo nginx -t sudo systemctl reload nginx
常见问题与解决
-
PHP文件无法解析
检查Nginx/Apache配置中是否正确指向.php文件,并确认PHP-FPM服务正在运行。 -
权限问题导致502错误
确保PHP-FPM进程用户(通常为www-data或nginx)对网站目录有读取权限:sudo chown -R www-data:www-data /var/www/html
-
函数被禁用或内存不足
编辑PHP配置文件/etc/php/8.2/fpm/php.ini(路径依版本而定),调整如下参数:memory_limit = 256M upload_max_filesize = 64M post_max_size = 64M disable_functions =
修改后重启PHP-FPM服务:
sudo systemctl restart php8.2-fpm
安全与性能优化建议
- 启用OPcache:提升PHP执行效率,在
php.ini中设置:opcache.enable=1 opcache.memory_consumption=128 - 关闭暴露PHP版本头:
在
php.ini中设置expose_php = Off - 定期更新PHP版本:及时修复安全漏洞。
- 使用HTTPS加密通信:结合Let's Encrypt免费证书保障数据传输安全。
在Linux服务器上安装PHP是搭建Web应用的基础步骤,通过本文的详细指导,无论你是新手还是运维人员,都可以顺利完成PHP环境的部署,选择合适的安装方式、合理配置Web服务器、关注安全性与性能调优,才能确保你的PHP应用稳定高效地运行,随着技术不断发展,建议持续关注PHP官方发布和社区最佳实践,为你的项目保驾护航。


