Po przenosinach instalacji Magento na inny serwer czasami można się spotkać z problemem braku dostępu do Magento Connect Manager, co objawia się ogłoszeniem:

czyli krótko mówiąc błędnymi prawami dostępu plików niezbędnych dla prawidłowego działania Magento Connect Manager.

W sieci można znaleźć conajmniej kilka pomysłów na rozwiązanie tego problemu, ale jeden wydaje się być pewniakiem. Analizując plik, który generuje ten błąd, można dojść do funkcji isWritable():

    public function isWritable()
    {
        if (is_null($this->_writable)) {
            $this->_writable = is_writable($this->getMageDir() . DIRECTORY_SEPARATOR)
                && is_writable($this->filepath())
                && (!file_exists($this->filepath('config.ini') || is_writable($this->filepath('config.ini'))))
                && (!file_exists($this->filepath('pearlib/config.ini') || is_writable($this->filepath('pearlib/pear.ini'))))
                && is_writable($this->filepath('pearlib/php'));

        }
        return $this->_writable;
    }

z pliku downloader/Maged/Controller.php, która daje nam listę plików i folderów, które powinny mieć prawa zapisu (np. chmod 777). Jest to więc:

/folder_instalacji_magento
/folder_instalacji_magento/downloader
/folder_instalacji_magento/downloader/config.ini
/folder_instalacji_magento/downloader/pearlib/config.ini
lub
/folder_nstalacji_magento/downloader/pearlib/pear.ini

oraz

/folder_instalacji_magento/downloader/pearlib/php

Tyle powinno wystarczyć do zalogowania się do Magento Connect, ale aby poprawnie ściągnąć i zainstalować wtyczkę, prawa zapisu powinien mieć również folder:

/folder_instalacji_magento/downloader/pearlib/download

gdzie ściągane i rozpakowywane są wtyczki (tam więc w razie potrzeby ręcznego kopiowania plików, gdy nie powiedzie się automatyczna instalacja, znajdziemy wszystkie pliki wtyczek).

Kamil Borkowski

Specjalista do spraw developingu w firmie Operator24.pl