为CentOS 7.2 配置PHP 运行环境:全面指南
2023-10-06 00:37:25
在 CentOS 7.2 系统中安装和配置 PHP 和 Nginx:全面的指南
PHP 作为一种广泛运用于网络开发的高效、开源的编程语言,与轻量级、高性能的 Web 服务器 Nginx 搭配使用时,能够构建高效的 Web 应用程序。本指南将分步引导您完成在 CentOS 7.2 系统上安装和配置 PHP 及 Nginx 环境的详细流程。
步骤一:准备系统环境
- 确保系统已安装并配置好 CentOS 7.2。
- 登录系统,使用 root 用户权限或具有 sudo 权限的用户身份。
- 禁用防火墙和 SELinux,以避免安装过程中的潜在冲突。
- 更新系统软件包,以保证软件处于最新状态。
步骤二:安装 PHP
- 下载 PHP 源码包:
wget http://us1.php.net/distributions/php-7.4.32.tar.gz
- 解压源码包:
tar -zxvf php-7.4.32.tar.gz
- 进入源码目录:
cd php-7.4.32
- 配置安装选项:
./configure --prefix=/usr/local/php7 --with-fpm-user=nginx --with-fpm-group=nginx --enable-fpm
- 编译 PHP:
make
- 安装 PHP:
make install
步骤三:配置 PHP
- 编辑 PHP 配置文件
/etc/php.ini
:
vi /etc/php.ini
-
根据需求调整 PHP 配置参数,如时区和内存限制。
-
保存并退出文件。
步骤四:安装 Nginx
- 安装 Nginx 软件包:
yum install nginx
- 复制 Nginx 配置文件:
cp /etc/nginx/nginx.conf /etc/nginx/conf/nginx.conf
- 编辑 Nginx 配置文件
/etc/nginx/conf/nginx.conf
:
# ...
# 启用 PHP 模块
include /etc/nginx/conf.d/*.conf;
# ...
# 设置 PHP 处理程序
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
# ...
- 保存并退出文件。
步骤五:配置 php-fpm
- 安装 php-fpm 软件包:
yum install php-fpm
- 复制 php-fpm 配置文件:
cp /etc/php-fpm.conf /etc/php-fpm.d/www.conf
- 编辑 php-fpm 配置文件
/etc/php-fpm.d/www.conf
:
# ...
[global]
pid = /var/run/php-fpm/php-fpm.pid
error_log = /var/log/php-fpm/error.log
listen = 127.0.0.1:9000
# ...
[www]
user = nginx
group = nginx
# ...
- 保存并退出文件。
步骤六:启动服务
- 启动 Nginx 服务:
systemctl start nginx
- 启动 php-fpm 服务:
systemctl start php-fpm
步骤七:测试 PHP
- 创建一个 PHP 文件(例如
info.php
):
<?php
phpinfo();
?>
-
将文件放置在 Web 根目录(例如
/var/www/html
)。 -
在浏览器中访问
http://localhost/info.php
。 -
如果显示 PHP 信息页面,则表明 PHP 已成功安装和配置。
故障排除
- 检查 PHP 和 Nginx 的错误日志,查找潜在错误。
- 确保 PHP 和 Nginx 的配置文件已正确配置。
- 确保防火墙和 SELinux 已禁用或正确配置。
- 确保 php-fpm 模块已正确安装和配置。
- 重新启动 Nginx 和 php-fpm 服务,以应用配置更改。
常见问题解答
-
PHP 安装过程中出现“configure: error: cannot find proto/config.h”错误:
确保已安装 libprotobuf-devel 软件包。 -
Nginx 启动失败,提示“nginx: [emerg] getsockopt(SO_PEERCRED, &ucred, &len): No such file or directory”:
SELinux 可能被启用。禁用 SELinux 或配置 SELinux 策略以允许 Nginx 访问所需的权限。 -
无法访问 PHP 页面,提示“502 Bad Gateway”:
检查 php-fpm 配置文件,确保listen
指令已正确设置为 127.0.0.1:9000。 -
PHP 页面空白,没有显示任何输出:
确保 PHP 配置文件/etc/php.ini
中已取消注释display_errors
指令。 -
如何更新 PHP 版本?
遵循本文中的步骤,使用较新版本的 PHP 源码重新安装 PHP。