Apache不会在网站目录中显示PHP文件

时间:2012-01-11 21:10:31

标签: php linux apache

我正在构建一个网页,其中有一个允许用户登录的页面,名为login.php。此页面与我的index.html页面位于同一根目录中。当我打开index.html并点击登录链接时,我收到以下错误消息:

Fatal error: Unknown: Failed opening required '/websites/testsite.com/www/login.php' (include_path='.:/usr/share/pear') in Unknown on line 0

我不知道为什么这不起作用,因为我的索引页面(以及我到目前为止所做的每一个其他页面)链接到同一目录中存在的同一login.php页面。有什么建议吗?

如果有帮助,我使用Apache HTTPD 2.2和PHP 5.3.8运行Arch Linux。谢谢!

编辑: 我忘了提一些额外的信息。由于我在这个网站上与另一个人一起工作,我们每个人都在我们的用户目录中拥有该网站的“本地”副本。 (我说是本地的,但它确实是我们在同一台服务器上的用户目录,它托管了这个网站的公共版本)。 Apache设置为允许用户目录(http://thisismytestwebsite.com/~myusername),这是我们查看“本地”副本的方式。当我点击登录链接时,页面加载正常。我们拥有的一切都使用Git进行备份,我们拥有的所有内容都已正确同步(我们刚刚检查过)。

2 个答案:

答案 0 :(得分:0)

检查您尝试打开的文件是否存在,并且该路径是绝对路径。

从一个文件到另一个文件生成相对路径相当容易:

 dirname(__FILE__) . "/../include.php";

将包含文件' include.php'从当前文件所在的一个文件夹开始。

__FILE__是一个神奇的PHP常量,请使用它!

答案 1 :(得分:0)

由于文件系统权限,可能会阻止apache进程读取index.php文件。

根据您的工作chmod

尝试调整文件的权限(chown)和所有权(index.html