首先 通过我测试,php74模块没有支持apache的.因此升级到php74 以后,php没法使用. 最基本的函数phpinfo 调用不出来,没有相关的模块.
安装mariadb 10.4 以后发现,mariadb 这个版本好像不支持密码(反正我是没搞定,一天) .改配置什么的我都试了,仍然免密登录. 因此最后通过我测试了一天 肯定的方案就是 php72+mysql8.0 (依旧遇到了至关多的问题, 包括mysql和mariadb版本冲突,配置冲突,以及和php的模块冲突,为了避免浪费时间去改配置,系统我重装了五次左右.血与泪的实践)
下面开始正确的步骤,首先安装mysql 仓库,从官方下载仓库文件,传到服务器 或者拿到连接,采用wget的方式php
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 下载后经过本地安装
yum localinstall 包html
刷新仓库 yum clean allmysql
重建缓存 yum makecacheweb
安装mysql yum install mysql (必定要先安装mysql再安装php 不然到时候模块找不到支持,先安装了MySQL以后,模块方便自动识别版本.不然到时候版本错误,有得回退半天,而后清理配置,出现莫名其妙的错误)sql
安装好以后,进入mysql 这时候须要密码.可是你没有设置密码,哪来的密码呢? 这是MySQL 高版本的特性,它会生成一个随机密码
在你 mysql-uroot -p 以后 要求输出密码, 肯定以后提示没有密码,而后, 查看MySQL 日志 cat var/log/mysqld.log |grep password 就能够看到这个生成的随机密码(找不到多的登录几回)刷新下数据库
而后 mysql-uroot -p 拿到的随机密码.登录进去,必须马上重置密码apache
alter user 'root'@'localhost'IDENTIFIED BY 'YourNewPass'; -->mysql8.0的密码规则比较严,要求帐号包含大小写,数字符号 长度为8, 两次确认密码以后 后面几个选项所有默认Yesvim
重置完密码,新建一个wordpress 数据库缓存
create database wordpress ; \q 退出.安全
安装php --> 由于官方没有高版本的源. 只有5.4好像,wordpress 最低要5.6 仍是更高来着,反正阿里云仓库没有,其余的都没有.
安装php72w,是须要配置额外的yum源地址的,不然会报错不能找到相关软件包。
php高版本的yum源地址,有两部分,其中一部分是epel-release,另一部分来自webtatic。若是跳过epel-release的话,安装webtatic的时候,会有错误爆出。
因此,这里须要的命令是:
rpm -Uvh https://dl.Fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
固然,您也能够选择下面的这个命令,也是同样的效果。
yum install epel-release -y
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
记得更新源以后重建缓存
yum clean all
yum makecache
若是以前有装过php 为了防止CentOS上面发生php冲突,因此,这个命令仍是先执行一下更好些。
清除历史版本
yum -y remove php*
安装扩展包
事实上,这里面的对应扩展库不少,这里你们必定要注意cli和fpm这两个包,而其它的相关包就看须要了。
yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel
最好装这个
yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
安装完成之后,启动服务
systemctl enable php-fpm.service 设置开机启动
systemctl start php-fpm.service 启动php-fpm
而后开始安装apache
yum install httpd
systemctl enable httpd
systemctl start httpd
这时候访问 能访问到标准apache 测试页面
而后进入到网站目录 /var/www/html
新建一个php 文件 用来测试
vim index.php 添加测试代码
<?php
phpinfo();
?>
保存退出以后,访问地址,若是出现php版本信息页面说明php连接成功.
能够开始下一步.
下载wordpress ,wge 下载以后解压.
新建一个 网站根目录 webroot/wordpress
将解压的wordpress 所有移动到这个文件夹
再来配置虚拟主机
vim /etc/httpd/conf.d/vhosts.conf
添加代码
<VirtualHost *:80>
ServerName 网站地址
ServerAlias 别名网站地址
DocumentRoot "/webroot/blog" //刚刚新建的文件夹
<Directory "/webroot/blog">
Require all granted
保存退出,而后重启httpd
访问服务器地址, 最好在配置虚拟主机以后,再经过以前我说的方法, 写一个php测试页,看虚拟主机能不能访问php成功,成功了就能够放心开始下一步了.
进入到相关页面.配置页面.提示数据库连接,名称,帐户,密码 ,分别输入咱们刚刚设置的数据库信息,这时候问题就来了,发现不管如何没法写入,提示数据库有问题. (肯定帐户密码什么的没问题.)
其实这是为由于我采用的是高版本的mysql8.0 ,以前修改密码以后默认安全策略是不让外部访问的. 以及 服务器要求的身份验证方法对客户端未知。提示服务端(要链接的数据库)所要求的验证方式为caching_sha2_password。
打开phpinfo(),查看当前安装的php版本中的配置信息,找到mysqlnd.
当前PHP版本中所带的mysqlnd没法支持这种验证(caching_sha2_password),而PHP默认的是mysql_native_password 。
MySQL中以root登陆,并查看数据库所默认的身份验证
select host,user,plugin from mysql.user where user ='root';
解决方法 :
MySQL中建立一个支持mysql_native_password验证的用户,并用该用户登陆管理wp_database数据库。
建立一个认证方式是mysql_native_password的用户
create user '你的帐户'@'localhost' identified with mysql_native_password by '你的密码';
建立要存放wordpress数据的数据库,指定字符集
create database wp_database default charset utf8 collate utf8_general_ci;
将wp_database的全部权限给用户 你的帐户
grant all on 建立的wordpress数据库名称.* to '刚刚建立的帐户'@'localhost';
而后再刷新网址 就能够登录成功了.
若是仍是不行,
修改配置
1,登进MySQL以后,
2,输入如下语句,进入mysql库:
use mysql
3,更新域属性,'%'表示容许外部访问:
update user set host='%' where user ='root';
4,执行以上语句以后再执行:
FLUSH PRIVILEGES;
5,再执行受权语句:
GRANT ALL PRIVILEGES ON . TO 'root'@'%'WITH GRANT OPTION;
而后外部就能够经过帐户密码访问了。
)