MCPcopy Create free account
hub / github.com/aaPanel/BaoTa / __setup_php_environment

Method __setup_php_environment

class/plugin_deployment.py:435–645  ·  view source on GitHub ↗
(self, get, name, packinfo, path, find)

Source from the content-addressed store, hash-verified

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:

Callers 1

SetupPackageMethod · 0.95

Calls 15

WriteLogsMethod · 0.95
GetFileMd5Method · 0.95
DownloadFileMethod · 0.95
set_temp_fileMethod · 0.95
set_complex_confMethod · 0.95
start_php_asyncMethod · 0.95
objClass · 0.85
returnMsgMethod · 0.80
ExecShellMethod · 0.80
setPathInfoMethod · 0.80
InstallSoftMethod · 0.80
readFileMethod · 0.80

Tested by

no test coverage detected