当前位置:论坛首页 > Linux面板 > 求助

【待反馈】AttributeError: 'str' object has no attribute 'insert'

发表在 Linux面板2023-6-8 17:42 [复制链接] 9 4323

本帖最后由 堡塔运维香菜卷 于 2023-6-8 18:32 编辑

为了能快速了解并处理您的问题,请提供以下基础信息:
面板、插件版本:7.9.10

系统版本:
#lsb_release -a
LSB Version:        :core-4.1-amd64:core-4.1-noarch
Distributor ID:        CentOS
Description:        CentOS Linux release 8.2.2004 (Core)
Release:        8.2.2004
Codename:        Core
问题描述:网站和数据库的链接打开后都报错,之前还好好的,没有进行过操作。
本地开发完了,准备上传网站时发现这样了。
发生错误后,修复方案一和命令行中的bt命令里的修复都使用过,不能解决问题。
目前应该是最新版了,更新后的版本是 7.9.10,之前是7.9.9
另外重启面板后,登陆不进去了,登陆请求报404
请尽快处理,现在网站和数据库都不能面板操作了。

相关截图(日志、错误):
微信截图_20230608172017.png
数据库的错误截图
微信截图_20230608171958.png
网站的错误截图
微信截图_20230608172425.png
升级面板
微信截图_20230608172425.png
重启面板服务
微信截图_20230608173708.png
截图2中的全部文字复制如下
出错了,面板运行时发生错误!
AttributeError: 'str' object has no attribute 'insert'
REQUEST_DATE: 2023-06-08 17:18:06
PAN_VERSION: 7.9.9
  OS_VERSION: CentOS  8.2.2004 x86_64(Py3.7.9)
REMOTE_ADDR: 103.91.179.253
REQUEST_URI: POST /site?action=get_site_types
REQUEST_FORM: {}
  USER_AGENT: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
Traceback (most recent call last):
  File "/www/server/panel/BTPanel/__init__.py", line 1995, in publicObject
    res = run_obj.run(toObject, defs, get)
  File "/www/server/panel/BTPanel/__init__.py", line 1942, in run
    result = getattr(toObject, get.action)(get)
  File "class/panelSite.py", line 5259, in get_site_types
    data.insert(0,{"id":0,"name":"默认分类"})
AttributeError: 'str' object has no attribute 'insert'
很抱歉,面板运行时意外发生错误,请尝试按以下顺序尝试解除此错误:
修复方案一:在[首页]右上角点击修复面板,并退出面板重新登录。
修复方案二:如上述尝试未能解除此错误,请截图此窗口到宝塔论坛发贴寻求帮助, 论坛地址:https://www.bt.cn/bbs
----------------------------------------
本月宝塔日志
[2023-06-01 00:06:58][DEBUG] - 开始更新SSH登录日志...
[2023-06-01 00:06:58][DEBUG] - 更新ssh日志成功
[2023-06-02 00:07:11][DEBUG] - 开始更新SSH登录日志...
[2023-06-02 00:07:11][DEBUG] - 更新ssh日志成功
[2023-06-03 00:07:24][DEBUG] - 开始更新SSH登录日志...
[2023-06-03 00:07:24][DEBUG] - 更新ssh日志成功
[2023-06-04 00:07:38][DEBUG] - 开始更新SSH登录日志...
[2023-06-04 00:07:38][DEBUG] - 更新ssh日志成功
[2023-06-05 00:07:51][DEBUG] - 开始更新SSH登录日志...
[2023-06-05 00:07:51][DEBUG] - 更新ssh日志成功
[2023-06-06 00:08:02][DEBUG] - 开始更新SSH登录日志...
[2023-06-06 00:08:02][DEBUG] - 更新ssh日志成功
[2023-06-07 00:08:14][DEBUG] - 开始更新SSH登录日志...
[2023-06-07 00:08:14][DEBUG] - 更新ssh日志成功
[2023-06-08 00:08:26][DEBUG] - 开始更新SSH登录日志...
[2023-06-08 00:08:26][DEBUG] - 更新ssh日志成功
[2023-06-08 17:09:36][DEBUG] - 更新成功.
[2023-06-08 17:09:36][DEBUG] - 缓存更新成功,耗时: 1.30 秒
[2023-06-08 17:09:36][DEBUG] - 开始更新消息json...
[2023-06-08 17:09:36][DEBUG] - 更新消息json成功

举报 只看该作者 回复
发表于 2023-6-8 18:32:27 | 显示全部楼层
您好,请问您是做了什么操作后才会出现该问题呢?您可以尝试使用重新修复面板环境的方式来修复一下面板依赖,看看问题是否能解决,您到服务器SSH终端中执行下面命令(非面板终端)修复面板

备份之前无法使用的面板环境

  1. mv /www/server/panel/pyenv /root/pyenv_bak
复制代码


重新获取新的面板环境和更新包

  1. curl http://download.bt.cn/install/update_panel.sh|bash
复制代码


此更新不会对您的数据造成影响,仅仅更新面板程序。执行完后,麻烦执行一下bt 14 看看是否会有报错呢
举报 回复 支持 反对
发表于 2023-6-9 09:22:14 | 显示全部楼层
收到,我去试试,稍后将结果反馈上来。谢谢回复
举报 回复 支持 反对
发表于 2023-6-9 09:43:04 | 显示全部楼层
要说进行了什么操作,我就是把禁ping给开开,然后又关了,其他的没操作啥。

已经执行了上面两条命令,成功备份和安装,最终输出“已成功升级到[7.9.10]”
然后执行bt 14,确实有错误,输出如下
内网面板地址: xxxxxxxxxxxxxxxxxxxxxxx
Traceback (most recent call last):
  File "/www/server/panel/tools.py", line 737, in <module>
    set_panel_username()
  File "/www/server/panel/tools.py", line 427, in set_panel_username
    print('username: ' + username)
TypeError: can only concatenate str (not "NoneType") to str

password: ********
If you cannot access the panel,
release the following panel port [xxx] in the security group
若无法访问面板,请检查防火墙/安全组是否有放行面板[xxx]端口


面板的登陆页面能打开,所以端口应该没问题。但是发送登陆请求时仍然是404


举报 回复 支持 反对
发表于 2023-6-9 10:16:10 | 显示全部楼层
强行给737行添加一个用户名,该用户名已经在bt 6 中进行了设置。再次运行bt 14后不报错了,但是还是不能登陆。

微信截图_20230609101110.png


微信截图_20230609101328.png
举报 回复 支持 反对
发表于 2023-6-9 16:57:59 | 显示全部楼层
堡塔运维香菜卷 发表于 2023-6-8 18:32
您好,请问您是做了什么操作后才会出现该问题呢?您可以尝试使用重新修复面板环境的方式来修复一下面板依赖 ...

ok,以后发完后回复下你。
举报 回复 支持 反对
发表于 2023-6-9 17:08:18 | 显示全部楼层
宝塔用户_lxhygm 发表于 2023-6-9 16:57
ok,以后发完后回复下你。
  1. cp -rp /www/server/panel/data /www/backup/data_2023_1_11
复制代码
#备份今天的面板数据文件,备份文件可随意命名,列如我这里的data_2023_1_11,方便自己记忆即可
  1. unzip /www/backup/panel/2023-01-10.zip
复制代码
#解压之前的面板备份文件(面板默认开启的自动备份),自行选择恢复数据的日期文件,比如昨天>的2023-01-10.zip
  1. \cp -rp 2023-01-10/data/* /www/server/panel/data/
复制代码


#使用刚才解压出来的面板数据文件进行恢复



举报 回复 支持 反对
发表于 2023-6-9 17:37:05 | 显示全部楼层
堡塔运维香菜卷 发表于 2023-6-9 17:08
#备份今天的面板数据文件,备份文件可随意命名,列如我这里的data_2023_1_11,方便自己记忆即可
#解压之前 ...

此方法好使,已经可以正常登陆了,我再试试其他功能。非常感谢。
举报 回复 支持 反对
发表于 2023-8-18 05:04:10 | 显示全部楼层
这问题怎么解决的,我也遇到了
举报 回复 支持 反对
发表于 2023-8-18 05:04:44 | 显示全部楼层
怎么解决的,我也遇到了
举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表