CentOS 安装 PHP 环境详细指南
在 CentOS 上安装和配置 PHP 环境是许多开发者和系统管理员必须掌握的技能,本文将详细介绍如何在 CentOS 7 和 CentOS 8 上安装 PHP,并配置基本的 LAMP(Linux, apache, MySQL/MariADB, PHP)环境,以下是具体步骤和相关信息:

一、更新系统
确保系统软件包是最新的,打开终端并输入以下命令:
- sudo yum update y
二、安装 EPEL(Extra Packages for Enterprise Linux)仓库
EPEL 仓库提供了一些 CentOS 官方仓库中没有的软件包,执行以下命令来安装 EPEL 仓库:
- sudo yum install epelrelease y
三、安装 Apache HTTP Server
1、安装 Apache
执行以下命令来安装 Apache:

- sudo yum install httpd y
2、启动并启用 Apache
启动 Apache 服务并设置开机自启:
- sudo systemctl start httpd
- sudo systemctl enable httpd
3、配置 Apache
修改 Apache 的默认文档根目录为/var/www
(可选):
- sudo vi /etc/httpd/conf/httpd.conf
找到DocumentRoot "/var/www/html"
,将其改为DocumentRoot "/var/www"
,保存并退出,然后重启 Apache:
- sudo systemctl restart httpd
四、安装 MariaDB(或 MySQL)

1、安装 MariaDB
执行以下命令来安装 MariaDB:
- sudo yum install mariadbserver mariadb y
2、启动并启用 MariaDB
启动 MariaDB 服务并设置开机自启:
- sudo systemctl start mariadb
- sudo systemctl enable mariadb
3、设置 MariaDB 密码
运行以下命令来设置 MariaDB root 用户的密码:
- sudo mysql_secure_installation
按照提示完成设置,如果需要远程访问,可以执行以下命令:
- GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码' WITH GRANT OPTION;
- FLUSH PRIVILEGES;
五、安装 PHP 和常用扩展
1、安装 Remi 仓库
Remi 仓库提供了最新版本的 PHP,执行以下命令来安装 Remi 仓库:
- sudo yum install https://rpms.remirepo.net/enterprise/remirelease7.rpm y
2、启用并安装 PHP 模块
根据需要启用并安装不同版本的 PHP,安装 PHP 7.4 和常用扩展:
- sudo yumconfigmanager enable remiphp74
- sudo yum install php phpfpm phpmysqlnd phpgd phpldap phpodbc phppeclapcu phppear phpxml phpxmlrpc y
3、启动并启用 PHPFPM
启动 PHPFPM 服务并设置开机自启:
- sudo systemctl start phpfpm
- sudo systemctl enable phpfpm
4、验证 PHP 安装
创建一个简单的 PHP 文件来验证安装是否成功:
- echo "<?php phpinfo(); ?>" | sudo tee /var/www/info.php
然后在浏览器中访问http://your_server_ip/info.php
,你应该能看到 PHP 信息页面。
六、配置虚拟主机(可选)
如果你需要配置虚拟主机,可以在/etc/httpd/conf.d/
目录下创建一个新的配置文件,创建一个名为test.conf
的文件:
- sudo vi /etc/httpd/conf.d/test.conf
添加以下内容:
- <VirtualHost *:80>
- DocumentRoot "/var/www/test"
- ServerName www.test.com
- <Directory "/var/www/test">
- AllowOverride All
- Require all granted
- Options FollowSymLinks
- </Directory>
- </VirtualHost>
然后重启 Apache:
- sudo systemctl restart httpd
七、常见问题解答(FAQs)
问题1:如何更改 PHP 版本?
解答:可以通过 Remi 仓库轻松更改 PHP 版本,要切换到 PHP 8.0,请执行以下命令:
- sudo yumconfigmanager setenabled remiphp80
- sudo yum install phpfpm phpmysqlnd y
- sudo systemctl restart phpfpm
问题2:如何解决“Failed to open stream: Permission denied”错误?
解答:这个错误通常是由于文件权限不足引起的,确保 web 服务器用户(通常是apache
或nginx
)对文件和目录有适当的读写权限,对于 Apache,你可以执行以下命令:
- sudo chown R apache:apache /var/www/html
- sudo chmod R 755 /var/www/html