Windows下MySql+Apache+PHP7搭建Wordpress
1.环境
MySql 8.0.26 下载地址 https://dev.mysql.com/downloads/installer/
Apache 2.4.48 X64 下载地址 https://www.apachehaus.com/cgi-bin/download.plx
PHP 7.4.23 VC15 x64 Thread Safe (2021-Aug-25 12:58:12) 下载地址 https://windows.php.net/download#php-7.4
WordPress 5.8 下载地址 https://cn.wordpress.org/download/#download-install
2.创建空数据库
3.安装wordpress
把wordprdss解压到 C:\WAMP\Apache24\htdocs
浏览器中打开 http://localhost:801/wordpress 出现安装页面
操作很简单,输入数据库连接信息后提交
然后报错
卧槽、、、竟然不报错了,继续下一步,后面再说报错的事
安装成功,进入首页显示的是网站目录
4.设置阿帕奇,禁止访问网站目录
顺便再设置一下默认页面
测试一下不存在的页面,不会再显示网站目录了
5.安装成功
总结一下,安装WordPress很简单,一路下一步就OK
6.报错
写这篇文章的时候,我已经安装好了。但是我准备重现安装经过,就把数据库删除重建、PHP7.4 修改为8.0后重启阿帕奇、删除wordpress文件夹重新下载wordpress。
我上面为什么说会报错,我第一次安装的时候,是用的PHP8.0,就在输入数据库连接信息 点击提交后页面报 出现了一个严重错误
打开debug 输出日志如下:
[02-Sep-2021 16:54:32 UTC] PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\WAMP\Apache24\htdocs\wordpress\wp-includes\wp-db.php:1685
Stack trace:
#0 C:\WAMP\Apache24\htdocs\wordpress\wp-includes\wp-db.php(632): wpdb->db_connect()
#1 C:\WAMP\Apache24\htdocs\wordpress\wp-includes\load.php(558): wpdb->__construct('root', '123456', 'wordpress', 'localhost')
#2 C:\WAMP\Apache24\htdocs\wordpress\wp-settings.php(124): require_wp_db()
#3 C:\WAMP\Apache24\htdocs\wordpress\wp-config.php(98): require_once('C:\\WAMP\\Apache2...')
#4 C:\WAMP\Apache24\htdocs\wordpress\wp-load.php(50): require_once('C:\\WAMP\\Apache2...')
#5 C:\WAMP\Apache24\htdocs\wordpress\wp-admin\install.php(36): require_once('C:\\WAMP\\Apache2...')
报错的就是这段代码
查资料说 PHP中的mysql_connect() 函数7.0以后就废弃了,替换为了 mysqli_connect
全宇宙最优秀的PHP,我还没有学会,所以呢我也不会改代码。一顿搜索陷入死循环
图中结果来自 https://www.wpdaxue.com/fatal-error-uncaught-error-call-to-undefined-function-mysql-connect.html
WordPress官网也说推荐PHP7.4及更高版本,因此无解了。
隔了一天,终于让我找到了解决办法
删掉PHP8.0,使用 PHP7.4.23,WordPress顺利安装。
但是我又换回去php8.0
在写这篇文章的时候,我电脑的环境是php8.0。数据库删除重建、删除wordpress文件夹重新下载解压wordpress。我想重现报错。
但诡异的是,如上面安装步骤一样,填写创建数据库信息提交,又不再报错了。。。。。
我估计是我电脑安装成功一次之后,wordpress的一些信息有缓存在其他文件夹,我没有删除缓存,因此不再报错。
我应该连文件夹和数据库名也换一个新名字的再试的。。。
不试了,给大家提个醒吧,wordpress 在 php8.0下 存在风险!
wordpress后台有很多地方要设置。比如这样
解决办法 在服务器上打开后台设置url为域名