我最近根据此处的说明安装并配置了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。
提前感谢您的帮助。
答案 0 :(得分:0)
这看起来像文件权限问题。也许MAMP下的文件具有不同的权限,不允许新安装的Apache访问。
500错误通常也是由配置错误的.htaccess
文件引起的。这些是隐藏的配置文件,即使您清空目录也可能仍然存在。尝试在Finder中启用隐藏文件的视图,然后在有问题的子目录中浏览。如果你看到任何内容,请告诉我。
如果不是,我们必须检查您的旧子目录权限并将它们与新的子目录进行比较,以查看是否存在差异。如果权限不同,则说明您的系统不允许Apache访问这些文件的原因。这可以通过终端使用ls -l
命令完成。我在Linux上并且有一段时间没有碰过Mac,但我认为你也可以通过右键单击并选择属性来查看文件的权限(它属于哪个用户等)。
如果有任何意义,请告诉我。