0

我有一个草稿课:(更新

class abb{
   static $fieldSelect;
   function init() {
        self::$field = require_once('inputs/Mapping.php');
   }
   function getField($item) {
        return self::$fieldSelect[$item];
   }
}

Mapping.php包含:

<?php
return array(
    ItemType::Food          => 0.7,
    ItemType::Fashion       => 0.5,
);

它在easyPHP(windows 7)上运行良好,但是当我将它部署到Apache2(Unbutu)上时,出现错误异常。例如,我输入$item = "Phone"此处更新),Apache2 抛出异常:Undefined index: Phone在行return self::$fieldSelect[$item];如果$fieldSelect[$item]不存在,将返回 Window 上的服务器NULL但 Ubuntu 不存在。我只是想在运行它时看到 Window 和 Ubuntu 之间的不同。

我不明白为什么会这样?

4

2 回答 2

1

我假设错误报告级别在不同系统上的配置不同。

于 2012-03-15T07:25:15.223 回答
0

我没有看到$fieldSelect在你班上的任何地方宣布。也许你应该$field改用?

您也在使用$fieldsand $field

也许这会做:

class abb{ 
   static $fields; 
   function init() { 
        self::$fields = require_once('inputs/Mapping.php'); 
   } 
   function getField($item) { 
        return self::$fields[$item]; 
   } 
} 

最后,您需要正确处理数组键。我不确定你ItemType的定义是什么。也许使用$item = ItemType::Food来访问密钥会有所帮助。

于 2012-03-15T07:23:36.807 回答