这实际上不是与Apache相关的问题。甚至没有与PHP相关的代码。要了解此错误,您必须将 虚拟服务器上 的路径与 文件系统中 的路径区分开。
require运算符可处理文件。但是没有
/common/configs/config_templates.inc.php
文件在服务器上,而是
/home/viapics1/public_html/common/configs/config_templates.inc.php
的
/home/viapics1/public_html
部分称为 文档根 ,将虚拟世界与真实世界连接起来。幸运的是,Web服务器通常在与PHP共享的配置变量中具有文档根目录。因此,如果您将代码更改为类似
require_once $_SERVER['document_ROOT'].'/common/configs/config_templates.inc.php';
它可以在任何目录中的任何文件中工作。
更新:最终,我写了一篇文章,解释了文件系统和Web服务器上相对路径和绝对路径之间的区别,它详细解释了此问题,并包含一些实用的解决方案。
不幸的是,当您从命令行运行脚本时,这种方便的变量不存在。在这种情况下,将采取一种称为“单个入口点”的技术。您也可以参考上面的文章以了解详细信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)