本文最后更新于 228 天前,其中的信息可能已经有所发展或是发生改变。
文章来源https://jinber.com/zh_CN/blog/01863947-0f6d-7c90-8cf8-6f678273b0ac
我们在安装prestashop的时候,特别是中国服务器,可能会卡在模块安装那一步,即install addons modules,进度条卡在67%
出现这种情况,可以修改以下代码,
文件: webroot/src/PrestaShopBundle/Install/Install.php
找到:installModulesAddons 方法
public function installModulesAddons($module = null)
{
$addons_modules = $module ? [$module] : $this->getAddonsModulesList();
$modules = [];
foreach ($addons_modules as $addons_module) {
if (file_put_contents(_PS_MODULE_DIR_ . $addons_module['name'] . '.zip', Tools::addonsRequest('module', ['id_module' => $addons_module['id_module']]))) {
if (Tools::ZipExtract(_PS_MODULE_DIR_ . $addons_module['name'] . '.zip', _PS_MODULE_DIR_)) {
$modules[] = (string) $addons_module['name']; //if the module has been unziped we add the name in the modules list to install
unlink(_PS_MODULE_DIR_ . $addons_module['name'] . '.zip');
}
}
}
return count($modules) ? $this->installModules($modules) : true;
}
修改为:
public function installModulesAddons($module = null)
{
$addons_modules = $module ? [$module] : $this->getAddonsModulesList();
$modules = [];
foreach ($addons_modules as $addons_module) {
$modules[] = (string) $addons_module['name'];
}
return count($modules) ? $this->installModules($modules) : true;
}
再次安装就会顺利进行了