在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。