【问题标题】:Connecting to localhost works fine, but I can't connect to most subdirectories on localhost. What's wrong?连接到本地主机工作正常,但我无法连接到本地主机上的大多数子目录。怎么了?
【发布时间】:2012-05-27 04:56:00
【问题描述】:

我最近根据此处的说明安装和配置了 Apache、PHP 和 MySQL:http://danilo.ariadoss.com/how-to-setup-apache-php-mysql-on-mac-os-x-105-leopard/

除了我按照此处的说明安装了 MySQL(包括 StartupItem 和 PreferencePane):http://dev.mysql.com/doc/refman/5.5/en/macosx-installation-pkg.html

当我打开浏览器并导航到 localhost 时,会显示我的 ~/Sites/index.html 页面。

当我尝试通过localhost/subdir 导航到我的任何~/Sites 子目录时,出现以下错误:

HTTP 错误 500(内部服务器错误):>服务器尝试完成请求时遇到了意外情况。

在我配置 Apache、PHP 和 MySQL 之前,这些子目录都在 ~/Sites 中。

在配置 Apache、PHP 和 MySQL 之后,我在 ~/Sites (~/Sites/test) 中创建了另一个目录,我似乎可以通过 localhost/test 连接到该目录(@987654330 中 index.php 文件的内容将浏览器定向到localhost/test 时会显示@)。

换句话说,我无法连接到旧的~/Sites 子目录,但由于某种原因,我可以连接到新的~/Sites 子目录。我将旧子目录的所有内容移动到新的(空)子目录,然后尝试连接到新的子目录,但得到了同样的错误。

在根据上述说明配置 Apache、PHP 和 MySQL 之前,我使用 MAMP 运行我的站点子目录。这可能与此错误消息有关吗?

我正在运行 Mac OS X 10.6.8。

提前感谢您的帮助。

【问题讨论】:

  • 查看 apache 的错误日志 - 它将包含有关导致 500 错误的原因的更多详细信息。

标签: php mysql apache mamp


【解决方案1】:

这看起来像是文件权限问题。也许 MAMP 下的文件具有不同的权限,您的新安装的 Apache 不允许访问。

500 错误通常也是由错误配置的.htaccess 文件引起的。这些是隐藏的配置文件,即使您清空了一个目录,它们也可能仍然存在。尝试在 Finder 中启用隐藏文件的视图,然后在有问题的子目录中浏览。如果你看到任何东西,请告诉我。

如果不是,我们必须检查您的旧子目录权限并将它们与新的权限进行比较,看看是否有区别。如果权限不同,它解释了为什么您的系统不允许 Apache 访问这些文件。这可以通过终端使用ls -l 命令来完成。我在 Linux 上并且有一段时间没有接触过 Mac,但我认为您还可以通过右键单击并选择属性来查看文件的权限(它属于哪个用户等)。

让我知道这是否有意义。

【讨论】:

  • 我在我的任何子目录中都没有看到任何隐藏文件,旧子目录的权限也与新子目录的权限没有任何不同(都是 drwx-r-xr-x)。
猜你喜欢
  • 2017-04-15
  • 1970-01-01
  • 2014-11-06
  • 2013-05-20
  • 2019-04-25
  • 2016-01-01
  • 2021-06-20
  • 2015-07-26
相关资源
最近更新 更多