1

我最近将一个大型 CubeCart 安装移到了新服务器上,它产生了一大堆问题。他们中的大多数我都被错误地整理出来,但我坚持这个:

在主 index.php 文件中包含配置文件,它设置关键变量,如 $glob['rootDir']。然后几行之后,在主 index.php 文件中包含另一个重要脚本,并调用其中一些 $glob 变量,但在 $GLOBALS 超全局变量下。但是,这是行不通的。如果我放第二个包含的文件 var_dump($GLOBALS) 它就在那里......但是如果我放 echo $GLOBALS['rootDir'] 我什么也得不到。我没有收到任何错误或任何错误,只是未定义索引。

这是PHP设置的问题吗?该站点之前在以前的服务器上运行良好,但我不知道它正在运行什么版本的 PHP 或特定设置。

代码示例:

主要索引文件:

//INCLUDE CORE VARIABLES & FUNCTIONS
include_once("includes/global.inc.php");
//... other stuff ...
include_once("includes/sessionStart.inc.php");

GLOBAL.INC.PHP:

$glob['dbhost'] = 'localhost';
//other variables, including $glob['rootRel'];

SESSIONSTART.INC.PHP:

$sessionDomain = substr($GLOBALS['rootRel'],0, strlen($GLOBALS['rootRel'])-1);
//the above is where it throws Undefined Index

谢谢!

4

1 回答 1

0

$glob 和 $GLOBALS 是不同的变量,所以这种行为是可以的。

于 2011-06-23T07:13:56.577 回答