我不是服务器方面的专家,我的一个朋友想要使用我写的一些PHP脚本,但是他的服务器有问题,我无法找到解决方法。
基本上问题在于生成文件路径。
在我的脚本中,我使用以下变量来获取路径:
$path = "/template/"; // path to the template folder
$baseURL = $_SERVER['DOCUMENT_ROOT'].$path;
然后我将我的页面包含在这样的例子中:
include($baseURL."scripts/functions.php");
在我的服务器上,这很好用,当我尝试回显baseURL参数时,我得到了这个:
/data/web/virtuals/104571/virtual/www/template/
但是,在我朋友的服务器上,它只会抛出"PHP Fatal error: Call to undefined function" - because I checked and the functions.php is not being loaded,
当我尝试在我朋友的服务器上回应baseURL时,我什么都没得到。
所以我尝试查看phpinfo()
,有趣的是,我根本找不到DOCUMENT_ROOT
,路径很奇怪,PHP错误显示:
PHP Fatal error: Call to undefined function convertT() in H:\webspace\hostings\kocher.es\hosting\www\meteotemplate\index.php on line 14
因为我真的不懂服务器,所以我不知道这意味着什么,为什么它有H:/驱动器,更重要的是,如何解决这个问题....
以下是显示的phpinfo()
:
http://kocher.es/meteotemplate/
如果有人知道如何解决这个问题,我将非常感谢,谢谢。
答案 0 :(得分:0)
尝试__DIR__
示例:
$basePath = __DIR__;
$templatePath = $basePath."/template/"; // path to the template folder
include($templatePath."/scripts/functions.php");
__DIR__
将返回文件基目录及其在不同文件中的不同,这意味着您必须小心何时将其称为
答案 1 :(得分:0)
您可以尝试使用dirname(),pathinfo()和realpath()来确定基本路径,而不是使用$ _SERVER ['DOCUMENT_ROOT']
答案 2 :(得分:0)
请在apache
的httpd.conf文件中添加文档根路径或尝试_SERVER [“CONTEXT_DOCUMENT_ROOT”]