0

在我的服务器中,我的根目录是:home

所有公共文件(www 目录)都在:home/public_html

好的,我想将一些文件放在 www 目录之外的其他目录中,例如:home/configs 或 home/php_classes

我想从 www 目录中的某些文件中包含这些目录中的文件。

基本上,我想在 home/public_html/index.php 中包含 home/configs 和 home/php_classes 中的文件

我试过了:

include("../configs/site_config.php");
include("../php_classes/mailer.php");

include("/home/configs/site_config.php");
include("/home/php_classes/mailer.php");

但它不起作用,我不断收到包含警告“没有这样的文件或目录”

4

1 回答 1

1

您的两个 PHP 代码片段都应该可以工作,所以首先仔细检查该文件是否确实存在。

如果您确定没有拼写错误,那几乎可以肯定是权限问题。PHP 在 Apache 下执行,因此您需要将文件夹的访问权限授予 Apache 运行的用户。最简单的方法取决于操作系统,这里有一个更深入细节的答案:如何授予 PHP 对目录的写访问权限?.

要测试这是否是问题,您可以暂时递归地设置您尝试访问世界可读/可执行目录的权限(例如 755)。类似的东西chmod -R 755 /home/configs。如果 PHP 仍然没有找到它,那么您的问题就在其他地方。确定问题后,请确保缩小权限范围,因为除非您有充分的理由,否则您不希望让您的目录在世界范围内可读或可执行。

于 2012-11-11T21:07:09.650 回答