MAMP PRO 中 运行 WP 主题时的禁止错误

Forbidden Error When Running WP Theme in MAMP PRO

我为 WordPress 主题克隆了一个私有存储库。存储库包括一个 wp-content 文件夹(加上五个其他文件 - .png、一个 .ico 和一个 .md)。我正在尝试 运行 使用 MAMP PRO 在我的 Mac 本地 运行 这个存储库的内容 - WordPress 主题。

运行 存储库应如下所示:http://dynamic.switzercreative.com/

但我得到了这个:

在 MAMP PRO 中,我有 Apache 和 MySQL 运行ning:

您还可以看到 MySQL 配置为使用端口 8889。

进入 phpMyAdmin --> 数据库名称(在左侧)--> 权限

我确保用户名与我在 wp-config.php 文件中的用户名相匹配,并且确实如此(第 3 行):

define( 'DB_USER', 'database_username' );

我还注意到,在权限下,此用户名的 'Grant' 设置为否。我猜我需要编辑这个吗?

我是否应该编辑用户名权限 - 这是导致此错误消息的原因吗?

编辑:我继续点击 "edit privileges" 并检查了 "grant" under administration。这使得用户名显示 "all privileges",就像其他用户名一样

但是在 URL 中输入 localhost:8888/theme_name_wpe 时,我仍然收到禁止的错误消息。

编辑 2:我还认为这可能是权限问题。我按照 this article 的第二个答案中的说明进行操作 - 我 cd 到 homefolder/wp-content/themes 和 运行 sudo chown -R username:groupname theme_name 以希望为主题提供必要的权限。不过,我仍然在浏览器中得到相同的结果。

EDIT 3:检查错误日志后,我看到错误消息说:

Failed to load resource: the server responded with a status of 403 (Forbidden)

这让我想到了 this article。按照评分最高的答案中的说明,我进入根目录(我桌面上的文件夹 'dynamictransit_wpe')并 运行 以下命令:

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

我仍然遇到同样的错误,但错误消息现在看起来不同了 - 像这样:

我应该 cd 到主题文件夹吗? (dynamictransit_wpe --> wp-content --> 主题 --> 主题)

编辑 4:在谷歌搜索“403 forbidden httpd - t”后,我找到了 this article,这表明我需要编辑 httpd.conf 文件.在文件的第 150 行,我发现:

User #-1
Group #-1

我认为我需要更改这些以匹配数据库用户名/组名,但这些更改没有效果。我还尝试了各种其他用户和组的可能性,包括将用户设置为我的 Mac 的用户名 - 仍然没有。

403 表示服务器配置的某些内容阻止您访问该特定文件。在您的情况下,由于您正在尝试访问该站点,因此该文件将是 index.php

根据我在上面的文档中看到的所有内容,您已经正确安装了 WP,我看到的唯一潜在问题是:

  • MAMP 可能不是 运行 它自己的 Apache 服务器。我说可能是因为我没有足够的信息来做出决定,但这是有可能的。
  • 您的 Apache 配置禁止访问您的 Web 根目录。您是否在 MAMP 中专门为此应用程序创建了一个文件夹?如果是这样,请确保根文件夹具有 755 权限并且归网络服务器的用户和组所有。
  • 检查您的 httpd.conf 文件并确保 AllowOverride 设置为全部。
  • 确保您没有阻止访问您网站的时髦 .htaccess 文件。如有疑问,请将文件重命名为 htaccess.txt 之类的名称,然后查看您的网站是否加载。

我不确定这些调整中的哪一项导致它起作用,但现在要 "localhost/" 呈现网站:

1.) 将 wp-config.php 中的用户名和密码更改为 "root",如下所示:

define( 'DB_USER', 'root' );
define( 'DB_PASSWORD', 'root' );

(MAMP / MAMP PRO 自动将 "root" 设置为数据库的用户名和密码,因此请确保它们设置正确)

2.) 还要确保数据库名称、主机、主页和站点 url 匹配:

define( 'DB_NAME', 'dynamic_transit' );
define( 'DB_HOST', 'localhost' );
define('WP_HOME','http://dynamic');
define('WP_SITEURL', 'http://dynamic');

3.) 确保主机名设置为 localhost:

4.) 在根文件夹(包含 wp-content、wp-admin 和 wp-includes 的文件夹)中创建一个 .htaccess 文件。将该文件留空。

5.) 确保端口的用户名 --> "Run Servers As:" 设置为您计算机的用户名:

6.) 重新启动服务器并转到 URL 中的 localhost/。如果它是一个 WordPress 站点,您应该可以转到 localhost/wp-admin 并输入您的 WordPress 用户名和密码以登录。