安装时出现 Wordpress http 500 错误

Wordpress http 500 error on install

我知道有很多关于此的帖子,但大多数帖子似乎都出现在 wordpress 网站的后期 - 我的帖子出现在 install.php,所以我猜这是一个更根本的问题。

我的设置:

Windows 10 (1803)
Nginx (1.15.2)
PHP (7.2.9 - None Thread Safe)
MySQL (8.0 - Community)

文件结构-(以防万一)

nginx - \Development\nginx\nginx-1.15.2\
PHP   - \Development\php\php-7.2.9-nts-Win32-VC15-x64\

nginx 正在从它的 /html/ 目录提供文件,而 wordpress 在一个子目录 html/wordpress

MySQL 创建了一个名为 "wordpress" 的空白数据库,可通过命令行访问,HeidiSQL 应用程序使用 wordpress 站点的凭据。

我知道 php 作为基本 <?php phpinfo(); ?> 文件输出 PHP 信息,访问 http://127.0.0.1:8080/wordpress/wp-admin/setup-config.php 开始安装过程,屏幕上会请求数据库信息.但是,将其提交至:

http://127.0.0.1:8080/wordpress/wp-admin/setup-config.php?step=2

抛出 500 错误,空白屏幕。

在 nginx 访问日志中我可以看到:

127.0.0.1 - - [28/Aug/2018:08:56:20 +0100] "POST /wordpress/wp-admin/setup-config.php?step=2 HTTP/1.1" 500 5 "http://127.0.0.1:8080/wordpress/wp-admin/setup-config.php?step=1&language=en_GB" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0"

但是 nginx 错误日志中没有任何内容 - 几乎没有,它充满了丢失的图标行,但我创建了一个空白行以减少噪音。

wp-config.php 使用数据库信息和行 define('WP_DEBUG', true); 进行硬编码时,访问 install.php 会出现错误 500 - 但没有其他信息。

知道问题出在哪里吗? 可能是文件权限问题,我假设 nginx 是 运行 作为我的 windows 用户 - 这是管理员。

更新:

Windows php 没有附带 php.ini 文件(为什么!!!)所以我从 http://www.reallylinux.com/docs/php.ini 中抓取了一个并把它放在了 php 根目录 - 这有效,我可以打开错误日志记录

现在这给了我一些工作 - 因为我已经到了问题的路线:

[error] 2200#6728: *9 FastCGI sent in stderr: "PHP Fatal error:  
UncaughtError: Call to undefined function mysql_connect() in \nginx\nginx-1.15.2\html\wordpress\wp-includes\wp-db.php:1564

有人知道为什么 mysql_connect() 是未定义的吗?

更新 2:

问题的实际路由原因是这个 PHP 错误:

无法使用 Php 7.2.8 (https://bugs.php.net/bug.php?id=76660)

连接到 mysql 8

降级到 PHP 7.2.7 并且问题消失了...考虑到在接受的答案中所做的更改。

mysql_connect()PHP 5.2 之前一直存在的函数,在 PHP 5.5.0 中被弃用,并被删除在 PHP 7.0.0 中。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。 Ref: PHP Manual