我不是服务器方面的专家,我的一个朋友想使用我写的一些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/
如果有人知道如何解决这个问题,我将非常感激,谢谢。
try __DIR__
的例子:
$basePath = __DIR__;
$templatePath = $basePath."/template/"; // path to the template folder
include($templatePath."/scripts/functions.php");
__DIR__
将返回文件基目录,它在不同的文件中是不同的,这意味着你必须小心何时调用
您可以尝试使用dirname(), pathinfo()和realpath()来确定基本路径,而不是使用$_SERVER['DOCUMENT_ROOT']
请在apache的httpd.conf文件中添加文档根路径
或尝试_SERVER("CONTEXT_DOCUMENT_ROOT")