Почему Apache2 (Ubuntu) работает не так, как Apache (сервер easyPHP в Windows)? - PullRequest
0 голосов
/ 15 марта 2012

У меня есть черновой класс: ( Обновление )

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] не существует, сервер Sever on Window вернет NULL, но Ubuntuне является.Я просто хочу увидеть разницу между Window и Ubuntu при запуске.

Я не понимаю, почему это так?

Ответы [ 2 ]

1 голос
/ 15 марта 2012

Я предполагаю, что уровень сообщений об ошибках был настроен по-разному в разных системах.

0 голосов
/ 15 марта 2012

Я не вижу $fieldSelect объявленного где-либо в вашем классе. Возможно, вам следует использовать $field вместо?

Вы также используете $fields и $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 для доступа к ключу поможет.

...