PHP include语句是';t使用相对路径将文件包括在文件夹中


PHP include statements aren't including files in a folder using relative paths

我自学网站开发,自学php和html。当我最初开始这项工作时,我在运行windowsxp的apache上设计了我的网站。一旦我解决了大部分错误,我就把它加载到一个免费的服务器托管网站上,一切都很好。

不幸的是,windows死了(我的system32文件夹中的文件已损坏),我现在正在运行Linux Mint。我刚刚在上面安装了apache2、php和mysql,这样我就可以继续我的网站开发了,但问题是:

为了节省时间,我让php使用include语句包含我的页眉和页脚html文件,如下所示:

<?php include("./dir/file1.html");?>

这对windows和免费服务器都有效(我相信它运行的是Linux版本,但不要引用我的话)。然而,它已经不能在我的机器上工作了。这项工作:

<?php include("./file2.html");?>

但我真的不想折射我所有的网页。如何使我的include语句再次将文件包含在相对路径的文件夹中?

我尝试过的东西:

我已经将include_path更改为指向dir,但没有用。

我尝试过绝对路径,但也没用。

我已经筛选了apache.conf和php.ini,寻找任何可能阻止它阅读的内容。

仔细检查文件夹和文件权限以确保可以读取。

任何和所有的建议都将不胜感激,非常感谢提前。

更新

使用require会给我错误:

网站在检索时遇到错误http://localhost/.它可能已停机进行维护或配置不正确。

这不是很有帮助。

仅使用include语句没有错误。

在我的include_path中有一个".:"。

最终更新

经过大量的尝试和错误,我得出结论,这个问题根本不涉及php或include语句,而是由于某种原因,apache服务器不允许访问子目录。这个问题现在还没有定论,应该结束讨论。

要使用相对路径包含文件,请确保include_path中有".",在php.ini或脚本中设置:

set_include_path( ".:" . get_include_path());