在云主机上搭建网站环境,PHP几乎是绕不开的核心组件,无论是运行WordPress、Laravel还是其他PHP应用,正确安装和配置PHP是第一步,下面,我就以一个实际操作者的角度,详细讲解如何在主流的Linux云主机上安装PHP,并给出一些关键的优化和安全建议。
环境准备:明确你的系统
云主机最常用的Linux发行版是CentOS/RHEL 系列和Ubuntu/Debian 系列,安装命令因系统而异,请先通过cat /etc/os-release
命令确认你的系统类型和版本(如 CentOS 7/8, Ubuntu 20.04/22.04)。
核心步骤:安装PHP
这里会分别介绍两种主流系统的安装方法,强烈建议使用较新的PHP版本(如PHP 7.4, 8.0, 8.1, 8.2),它们性能更好、安全性更高且仍在维护。
1. 在 CentOS/RHEL 系统上安装 PHP (使用 Remi 或 EPEL 仓库)
CentOS默认仓库的PHP版本通常较旧,为了获取最新稳定版,推荐启用Remi仓库(更全面)或EPEL+SCL(Software Collections)。
第一步更新系统
sudo yum update -y
第二步启用额外仓库 (以 Remi 为例)
# 安装EPEL仓库 (基础) sudo yum install epel-release -y # 安装Remi仓库 (提供最新PHP) sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm # CentOS 7 # 或 sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm # CentOS 8/RHEL 8 # 或 sudo yum install https://rpms.remirepo.net/enterprise/remi-release-9.rpm # CentOS 9/RHEL 9
第三步启用所需PHP版本的Remi仓库模块
# 查看可用的PHP流 (Stream) sudo yum module list php # 启用特定版本,PHP 8.1 sudo yum module enable php:remi-8.1 -y
第四步安装PHP及常用扩展
sudo yum install php php-cli php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-pecl-mcrypt php-json php-intl php-opcache -y
php
: 核心包
php-cli
: 命令行接口
php-fpm
: PHP FastCGI Process Manager (推荐用于Nginx)
php-mysqlnd
: MySQL/MariaDB 原生驱动
* 其他如zip
,gd
,mbstring
,curl
,xml
,json
,intl
,opcache
是运行大多数框架和CMS所必需的扩展,根据你的应用需求增减。
第五步启动PHP-FPM并设置开机自启
sudo systemctl start php-fpm sudo systemctl enable php-fpm
2. 在 Ubuntu/Debian 系统上安装 PHP
Ubuntu/Debian 的官方仓库通常包含较新的PHP版本。
第一步更新软件包列表
sudo apt update sudo apt upgrade -y
第二步安装PHP及常用扩展
# 安装指定版本,PHP 8.1 (替换 '8.1' 为你需要的版本号) sudo apt install php8.1 php8.1-cli php8.1-fpm php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath php8.1-intl php8.1-opcache -y
* 包名结构与CentOS类似,核心是php8.1
(版本号),php8.1-fpm
,php8.1-mysql
等,同样根据应用需求选择扩展。php-bcmath
常用于需要高精度计算的场景。
第三步启动PHP-FPM并设置开机自启
sudo systemctl start php8.1-fpm # 注意版本号在服务名中 sudo systemctl enable php8.1-fpm
验证安装:检查是否成功
安装完成后,快速验证PHP是否正确安装及其版本:
php -v
你应该会看到类似PHP 8.1.x (cli)
的输出信息,显示安装的PHP版本。
关键配置:优化与安全 (php.ini)
仅仅安装还不够,配置好php.ini
文件对性能和安全至关重要,配置文件通常位于:
CentOS/RHEL:/etc/php.ini
(主配置) 和/etc/php.d/
目录下的额外配置。
Ubuntu/Debian:/etc/php/8.1/fpm/php.ini
(针对PHP-FPM) 和/etc/php/8.1/cli/php.ini
(针对命令行)。注意替换版本号!
使用sudo nano /etc/php/8.1/fpm/php.ini
(Ubuntu示例) 或sudo nano /etc/php.ini
(CentOS示例) 编辑文件,以下是一些重要设置(根据服务器资源和应用需求调整):
1、内存限制 (memory_limit
): 默认值通常偏小,根据应用需求设置,如256M
,512M
,避免设置过高导致资源耗尽。
2、上传文件大小 (upload_max_filesize
和post_max_size
): 如果需要上传大文件(如图片、视频),同步调大这两个值,且post_max_size
应略大于upload_max_filesize
。
upload_max_filesize = 64M post_max_size = 70M
3、时区 (date.timezone
): 设置为你的服务器所在地或目标用户时区,如Asia/Shanghai
,避免时间显示错误。
4、错误报告 (display_errors
,log_errors
,error_reporting
):
生产环境务必关闭display_errors = Off
(防止将错误信息直接暴露给用户,存在安全风险)。
开启错误日志log_errors = On
并设置error_log
路径(如/var/log/php/php_errors.log
)。
设置报告级别error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
(报告所有错误,除了已弃用和严格标准警告,根据实际调整)。
5、启用并配置 OPCache (opcache.enable
): 对于PHP 5.5+,强烈建议开启OPCache(通常默认开启)以显著提升性能,检查opcache.enable=1
并根据内存调整opcache.memory_consumption
(如128
或256
)。
6、禁用危险函数 (disable_functions
): 禁用一些不常用但可能被利用的函数是重要的安全措施,常见禁用项包括:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
注意: 禁用前确认你的应用确实不需要这些函数,禁用curl_exec
可能会影响某些应用。
修改后务必重启PHP服务生效:
CentOS/RHEL (PHP-FPM):sudo systemctl restart php-fpm
Ubuntu/Debian (PHP-FPM):sudo systemctl restart php8.1-fpm
(替换版本号)
与Web服务器集成
安装好PHP后,需要将其与你的Web服务器(如Nginx或Apache)集成才能处理.php
请求。
Nginx: 需要在站点配置文件 (server
块) 中添加处理PHP请求的location
指令,并指向PHP-FPM监听的socket或端口(通常是unix:/run/php/php8.1-fpm.sock
或127.0.0.1:9000
),配置完成后重启Nginx (sudo systemctl restart nginx
)。
Apache: 通常安装libapache2-mod-php
(Ubuntu) 或php
(CentOS) 包时会自动配置好mod_php
模块,确保配置文件中有AddHandler
或AddType
指令处理.php
文件,配置完成后重启Apache (sudo systemctl restart httpd
或sudo systemctl restart apache2
)。
写在最后
在云主机上安装PHP是一个基础但关键的操作,选择稳定且受支持的版本、启用必要的扩展、仔细调整php.ini
配置(尤其是安全和性能相关项)、并正确集成到Web服务器中,是确保你的PHP应用稳定、高效、安全运行的前提,我个人始终认为,花时间在初始环境的正确配置上,远比后期出了问题再排查要省心省力得多,保持软件包的更新,并定期审查你的配置和安全设置,是每个负责任站长的必修课。
文章摘自:https://idc.huochengrm.cn/zj/9263.html
评论
闵静枫
回复在云主机上安装PHP,通常通过选择支持PHP的操作系统镜像或使用一键安装包实现。
乜筠心
回复在云主机上安装PHP,首先确认系统类型,使用Remi或EPEL仓库获取最新PHP版本,安装相关扩展,配置php.ini优化性能和安全,最后与Web服务器集成。