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.