连接到localhost工作正常,但我无法连接到localhost上的大多数子目录。怎么了?

时间:2012-05-27 04:56:00

标签: php mysql apache mamp

我最近根据此处的说明安装并配置了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页面。

但是,当我尝试通过~/Sites导航到我的localhost/subdir个子目录时,我收到以下错误:

  

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

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

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

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

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

我正在运行Mac OS X 10.6.8。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

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

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

如果有任何意义,请告诉我。