首先 经过我测试,php74模块没有支持apache的.所以升级到php74 之后,php无法使用. 最基本的函数phpinfo 调用不出来,没有相关的模块.
安装mariadb 10.4 之后发现,mariadb 这个版本好像不支持密码(反正我是没搞定,一天) .改配置什么的我都试了,仍然免密登陆. 所以最后经过我测试了一天 确定的方案就是 php72+mysql8.0 (依旧遇到了相当多的问题, 包括mysql和mariadb版本冲突,配置冲突,以及和php的模块冲突,为了不浪费时间去改配置,系统我重装了五次左右.血与泪的实践)
下面开始正确的步骤,首先安装mysql 仓库,从官方下载仓库文件,传到服务器 或者拿到链接,采用wget的方式

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 下载后通过本地安装
yum localinstall 包

刷新仓库 yum clean all

重建缓存 yum makecache

安装mysql yum install mysql (一定要先安装mysql再安装php 否则到时候模块找不到支持,先安装了MySQL之后,模块方便自动识别版本.否则到时候版本错误,有得回退半天,然后清理配置,出现莫名其妙的错误)

安装好之后,进入mysql 这时候需要密码.但是你没有设置密码,哪来的密码呢? 这是MySQL 高版本的特性,它会生成一个随机密码
在你 mysql-uroot -p 之后 要求输出密码, 确定之后提示没有密码,然后, 查看MySQL 日志 cat var/log/mysqld.log |grep password 就可以看到这个生成的随机密码(找不到多的登陆几次)刷新下

然后 mysql-uroot -p 拿到的随机密码.登陆进去,必须立刻重置密码

alter user 'root'@'localhost'IDENTIFIED BY 'YourNewPass'; -->mysql8.0的密码规则比较严,要求账号包含大小写,数字符号 长度为8, 两次确认密码之后 后面几个选项全部默认Yes

重置完密码,新建一个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;

然后外部就可以通过账户密码访问了。

)

wordpress 配置坑详解的更多相关文章

  1. 【第六课】Nginx常用配置下详解

    目录 Nginx常用配置下详解 1.Nginx虚拟主机 2.部署wordpress开源博客 3.部署discuz开源论坛 4.域名重定向 5.Nginx用户认证 6.Nginx访问日志配置 7.Ngi ...

  2. iOS10 语音播报填坑详解(解决串行播报中断问题)

    iOS10 语音播报填坑详解(解决串行播报中断问题) 在来聊这类需求的解决方案之前,咱们还是先来聊一聊这类需求的真实使用场景:语音播报.语音播报需求运用最为广泛的应该是收银对账了,就类似于支付宝.微信 ...

  3. [转帖]持久化journalctl日志清空命令查看配置参数详解

    持久化journalctl日志清空命令查看配置参数详解 最近 linux上面部署服务 习惯使用systemd 进行处理 这样最大的好处能够 使用journalctl 进行查看日志信息. 今天清理了下 ...

  4. idea spring+springmvc+mybatis环境配置整合详解

    idea spring+springmvc+mybatis环境配置整合详解 1.配置整合前所需准备的环境: 1.1:jdk1.8 1.2:idea2017.1.5 1.3:Maven 3.5.2 2. ...

  5. ASP.NET Core的配置(2):配置模型详解

    在上面一章我们以实例演示的方式介绍了几种读取配置的几种方式,其中涉及到三个重要的对象,它们分别是承载结构化配置信息的Configuration,提供原始配置源数据的ConfigurationProvi ...

  6. mha配置参数详解

    mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...

  7. Cocos2d-x win7 + vs2010 配置图文详解

    Cocos2d-x win7 + vs2010 配置图文详解 下载最新版的cocos2d-x.打开浏览器,输入cocos2d-x.org,然后选择Download,本教程写作时最新版本为cocos2d ...

  8. CentOS7下Firewall防火墙配置用法详解

    官方文档地址: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide ...

  9. Python安装、配置图文详解(转载)

    Python安装.配置图文详解 目录: 一. Python简介 二. 安装python 1. 在windows下安装 2. 在Linux下安装 三. 在windows下配置python集成开发环境(I ...

随机推荐

  1. xlwings API Documentation

    http://docs.xlwings.org/en/stable/api.html Top-level functions xlwings.view(obj, sheet=None) Opens a ...

  2. Excel.Application使用手册

    Excel.Application组件使用方法,适合应用于使用EXCEL组件做WEB应用开发. 转自http://bbs.xtjc.com/thread-376095-1-1.html 定制模块行为( ...

  3. PTA 6-15 用单向循环链表实现猴子选大王 (20 分)

    一群猴子要选新猴王.新猴王的选择方法是:让n只候选猴子围成一圈,从某位置起顺序编号为1~n号.每只猴子预先设定一个数(或称定数),用最后一只猴子的定数d,从第一只猴子开始报数,报到d的猴子即退出圈子: ...

  4. Shell常用命令之curl

    curl命令 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. ...

  5. python如何从内存地址上加载pythn对象

    python如何从内存地址上加载pythn对象 在python中我们可以通过id函数来获取某个python对象的内存地址,或者可以通过调用对象的__repr__魔术函数来获取对象的详细信息 def t ...

  6. 实验18:HDLC和PPP

    实验15-1:HDLC 和PPP 封装 Ø     实验目的通过本实验,读者可以掌握如下技能:(1) 串行链路上的封装概念(2) HDLC 封装(3) PPP 封装 Ø     实验拓扑 实验步骤n  ...

  7. JavaScript运动_封装模板(支持链式运动、完美运动)

    最近自学到了JS运动部分,自己整理了一些js模板,望采纳. 1.支持链式运动的模板: 先解释一下函数中的几个参数含义: 1)obj: 要操作的对象 2)target: 属性要到达的目标值 3)attr ...

  8. 二、通过工厂方法来配置bean

    调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中. 当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节. 要声明通过静态方法创建的 Bean, 需要在 Bean ...

  9. 读取sysTreeview32和SysListView32

    #include <stdio.h> #include <windows.h> #include <commctrl.h> int main(void) { /* ...

  10. 深入分析Java反射(三)-泛型

    前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行 ...