在CentOS 7上安装和配置php与MySQL是一个常见的需求,特别是在搭建Web服务器时,以下将详细介绍如何在CentOS 7上手动安装和配置PHP、MySQL以及phpMyAdmin,并提供相关的FAQs。
一、准备工作
1、更新系统:首先确保系统是最新的,并安装相关依赖。

- sudo yum update y
- sudo yum install y epelrelease wget
二、安装MySQL
1、下载并安装MySQL Yum存储库:
- wget http://dev.mysql.com/get/mysql57communityreleaseel710.noarch.rpm
- sudo rpm ivh mysql57communityreleaseel710.noarch.rpm
2、安装MySQL服务器:
- sudo yum install y mysqlcommunityserver
3、启动MySQL服务并设置开机自启:
- sudo systemctl start mysqld
- sudo systemctl enable mysqld
4、获取临时root密码:
- sudo grep 'temporary password' /var/log/mysqld.log
5、登录MySQL并修改root密码:
- mysql u root p
- ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword#123';
- SET GLOBAL validate_password.policy=STRONG;
6、创建数据库和用户(可选):

- CREATE DATABASE testdb;
- CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'UserPassword#123';
- GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'localhost';
- FLUSH PRIVILEGES;
三、安装PHP
1、安装EPEL源和REMI源:
- sudo yum install y epelrelease
- sudo rpm ivh http://rpms.remirepo.net/enterprise/remirelease7.rpm
2、启用并安装PHP 7.4:
- sudo yumconfigmanager enable remiphp74
- sudo yum install y php phpmysql phpgd libjpeg* phpldap phpodbc phppear phpxml phpxmlrpc phpmbstring phpbcmath phpmhash
3、重启Apache服务:
- sudo systemctl restart httpd
4、测试PHP安装结果:
- echo "<?php phpinfo(); ?>" > /var/www/html/index.php
然后在浏览器中访问http://<服务器IP>/index.php,如果看到PHP信息页面,说明PHP安装成功。
四、安装phpMyAdmin
1、安装EPEL源:

- sudo yum install y epelrelease
2、安装phpMyAdmin:
- sudo yum install y phpmyadmin phpmcrypt
3、配置phpMyAdmin:
编辑配置文件以允许远程访问。
- sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
将文件中的Require ip
指令注释掉或替换为Require all granted
。
4、重启Apache服务:
- sudo systemctl restart httpd
5、访问phpMyAdmin:在浏览器中输入http://<服务器IP>/phpmyadmin,即可看到phpMyAdmin的登录页面,使用之前设置的MySQL root用户密码登录即可管理数据库。
五、FAQs
Q1: 如何更改PHP版本?
A1: 如果需要更改PHP版本,可以使用yumconfigmanager工具切换到不同的PHP版本存储库,要切换到PHP 7.3,可以运行以下命令:
- sudo yumconfigmanager enable remiphp73
- sudo yum update
然后重启apache服务以应用更改。
Q2: 如果忘记MySQL root密码怎么办?
A2: 如果忘记了MySQL root用户的密码,可以通过以下步骤重置密码:
1、停止MySQL服务:
- sudo systemctl stop mysqld
2、跳过权限表启动MySQL:
- sudo mysqld_safe skipgranttables &
3、登录MySQL并重置密码:
- mysql u root
- use mysql;
- UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
- FLUSH PRIVILEGES;
- EXIT;
4、重启MySQL服务:
- sudo systemctl restart mysqld
现在可以使用新设置的密码登录MySQL。