Polskie wsparcie PrestaShop

PrestaShop => Błędy => Wątek zaczęty przez: cojack w Listopad 01, 2009, 03:55:29 pm

Tytuł: Panel administracyjny -> moduły (Warning: file_exists())
Wiadomość wysłana przez: cojack w Listopad 01, 2009, 03:55:29 pm
Problem:
Gdy wchodzimy do Panelu administratora wybieramy zakładkę moduły wyskakuje nam komunikat:
Warning: file_exists(): open_basedir restriction in effect. File(/home/cojack/Dokumenty/Projekty/Presta/modules//index.php/index.php.php) is not within the allowed path(s): (/srv/http/:/home/:/tmp/:/usr/share/pear/) in /home/cojack/Dokumenty/Projekty/Presta/classes/Module.php on line 347

Rozwiązanie:
W pliku: classes/Module.php
Linia: 346

Dodajemy @ - małpkę przed file_exists
if (@file_exists($moduleFile = _PS_MODULE_DIR_.'/'.$name.'/'.$name.'.php'))

By wyglądało tak:
public static function getModulesDirOnDisk()
{
$moduleList = array();
$modules = scandir(_PS_MODULE_DIR_);
foreach ($modules AS $name)
{
if (@file_exists($moduleFile = _PS_MODULE_DIR_.'/'.$name.'/'.$name.'.php'))
{
if (!Validate::isModuleName($name))
die(Tools::displayError().' (Module '.$name.')');
$moduleList[] = $name;
}
}
return $moduleList;
}

Innym możliwym rozwiązaniem jest usunięcie pliku index.php z folderu modules i dodaniu pliku .htaccess z wpisem by nie można było listować zawartości katalogów:

Options -Indexes

Pozdrawiam.