Гршка при include()

plamen_003

Registered
Здравейте, проблема ми е, че когато инклудна config.php в някоя страница в страницата ми изписват тази грашка:

Код:
Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\Config.php on line 80

Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\Config.php on line 166

Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\php\PEAR\Config\Container.php on line 111
 
Отбелязал съм редовете с ***РЕД: ??***

C:\xampp\php\PEAR\Config.php :

Код:
  function Config()
    {
 ***РЕД:81***       $this->container =& new Config_Container('section', 'root');
    } // end constructor

    /**
    * Returns true if container is registered
    *
    * @param    string  $configType  Type of config
    * @access public
    * @return   bool
    */

Код:
 function setRoot(&$rootContainer)
    {
        if (is_object($rootContainer) && strtolower(get_class($rootContainer)) === 'config_container') {
            if ($rootContainer->getName() === 'root' && $rootContainer->getType() === 'section') {
                $this->container =& $rootContainer;
            } else {
***РЕД:166***                $this->container =& new Config_Container('section', 'root');
                $this->container->addItem($rootContainer);
            }
            return true;
        } else {
            return PEAR::raiseError("Config::setRoot only accepts object of Config_Container type.", null, PEAR_ERROR_RETURN);
        }
    } // end func setRoot

C:\xampp\php\PEAR\Config\Container.php :

Код:
 function &createItem($type, $name, $content, $attributes = null, $where = 'bottom', $target = null)
    {
***РЕД:111***        $item =& new Config_Container($type, $name, $content, $attributes);
        $result =& $this->addItem($item, $where, $target);
        return $result;
    } // end func &createItem
 
По-добре не прави промени в кода на PEAR, защото после нищо няма да ти работи. PEAR е библиотека, нищо повече, която си изживя живота отдавна. Насочи се към някой от популярните frameworks и няма да сбъркаш.

Промени си нивото на error_reporting на нещо по-нормално от strict, особено когато работиш с толкова стар код и толкова нова версия на РНР.
 
Но файла, който искам да иклудна се намира в "C:\xampp\htdocs\site\includes\config.php".

А ако му променя името си работи всичко нормално...!?Просто тези грешки ми ги изписва само ако файла е с име config.php!?
 
А написал ли си пълния път до файла, който искаш да инклуднеш? Вероятно РНР инклудва друг файл със същото име - като се има в предвид, че ползваш windows и имената на файловете не са чувствителни към малки и главни букви, същото така няма и контрол върху достъпа на файловете, очевидно РНР търси да инклудне файл config.php, не го открива в същата директория и продължава да търси в include_path и пробва всичко наред, знам ли? Виж си конфигурацията като цяло, явно има нещо сбъркано.
 
Опитвам да инклудна този файл "C:\xampp\htdocs\site\includes\config.php" в този "C:\xampp\htdocs\site\includes\functions.php" и ми излизат тези грешки...

Инклудвам го просто със:

Код:
include 'config.php';
 

Back
Горе