在我的服务器中,我的根目录是: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");
但它不起作用,我一直收到包含警告“没有这样的文件或目录”
答案 0 :(得分:1)
您的两个PHP代码段都应该有效,因此请先仔细检查该文件确实存在 。
如果您确定没有拼写错误,那几乎肯定是权限问题。 PHP在Apache下执行,因此您需要为Apache运行的用户提供对该文件夹的访问权限。最简单的方法取决于操作系统,这是一个深入细节的答案:How do I give PHP write access to a directory?。
要测试这是否是问题,您可以暂时递归设置您尝试访问世界可读/可执行文件的目录的权限(例如755)。像chmod -R 755 /home/configs
这样的东西。如果PHP仍然没有找到它,那么你的问题就在其他地方。一旦确定问题,请务必缩小权限范围,因为除非您有充分的理由这样做,否则不要让您的目录保持可读或可执行。