(self, get, name, packinfo, path, find)
| 433 | public.writeFile(nginx_conf, content) |
| 434 | |
| 435 | def __setup_php_environment(self, get, name, packinfo, path, find): |
| 436 | if hasattr(get, "php_version"): php_version = get.php_version.strip() |
| 437 | # 检查本地包 |
| 438 | self.WriteLogs('正在校验软件包...') |
| 439 | pack_path = self.__panelPath + '/package' |
| 440 | if not os.path.exists(pack_path): os.makedirs(pack_path, 384) |
| 441 | packageZip = pack_path + '/' + name + '.zip' |
| 442 | isDownload = False |
| 443 | if os.path.exists(packageZip): |
| 444 | md5str = self.GetFileMd5(packageZip) |
| 445 | if md5str != packinfo['versions'][0]['md5']: |
| 446 | isDownload = True |
| 447 | self.WriteLogs('本地包的MD5校验失败,准备重新下载...') |
| 448 | else: |
| 449 | self.WriteLogs('本地包已存在且通过MD5校验') |
| 450 | else: |
| 451 | isDownload = True |
| 452 | self.WriteLogs('本地包不存在,准备下载...') |
| 453 | |
| 454 | # 下载文件 |
| 455 | if isDownload: |
| 456 | try: |
| 457 | if packinfo['versions'][0]['download']: |
| 458 | self.DownloadFile(public.GetConfigValue('home') + '/api/Pluginother/get_file?fname=' + packinfo['versions'][0]['download'], packageZip) |
| 459 | else: |
| 460 | self.WriteLogs('ERROR:下载链接无效,无法下载文件。') |
| 461 | return public.returnMsg(False, '下载链接无效,无法下载文件。') |
| 462 | except Exception as e: |
| 463 | self.WriteLogs('ERROR:下载文件时发生错误: {}'.format(str(e))) |
| 464 | return public.returnMsg(False, '下载文件时发生错误,请检查日志以获取详细信息。') |
| 465 | |
| 466 | if not os.path.exists(packageZip): |
| 467 | return public.returnMsg(False, '文件{}下载失败'.format(packageZip)) |
| 468 | |
| 469 | pinfo = self.set_temp_file(packageZip, path) |
| 470 | if not pinfo: |
| 471 | self.WriteLogs('ERROR:文件下载失败,文件不存在: {}'.format(packageZip)) |
| 472 | return public.returnMsg(False, '在安装包中找不到【宝塔自动部署配置文件】') |
| 473 | |
| 474 | if 'source' in get and int(get.source) == 1: |
| 475 | public.set_module_logs('plugin_deployment', 'SetupPackage') |
| 476 | |
| 477 | # 设置权限 |
| 478 | try: |
| 479 | self.WriteLogs('正在设置权限...') |
| 480 | public.ExecShell('chmod -R 755 ' + path) |
| 481 | public.ExecShell('chown -R www.www ' + path) |
| 482 | if 'chmod' in pinfo: |
| 483 | if pinfo['chmod']: |
| 484 | for chm in pinfo['chmod']: |
| 485 | public.ExecShell('chmod -R ' + str(chm['mode']) + ' ' + (path + '/' + chm['path']).replace('//', '/')) |
| 486 | except Exception as e: |
| 487 | pinfo["install_status"] = False |
| 488 | self.WriteLogs('ERROR:设置权限时发生错误: {}'.format(str(e))) |
| 489 | # 安装PHP扩展 |
| 490 | self.WriteLogs('开始安装项目PHP扩展...') |
| 491 | if 'php_ext' in pinfo: |
| 492 | try: |
no test coverage detected