说说我从X3.5升级到X5.0的过程吧!
升级过程中完全正常,到最后要完成时却卡着了,出现红色字体的提示 → connection error,也没搞懂问题出现在那里,刚好无聊打开邮箱,发现刚刚从 Cpanel 来了一封邮件,打开一看,好家伙,原来 connection error 是因为升级过程没找到这个文件 ( public_html\source\class\witframe\lib\core.php,我翻了翻,lib 文件夹里没找到core.php 这个文件,看了下,在 witframe 这里有个 core.php 文件,就把它复制进 lib 文件夹,重新升级,到最后又出现同样的问题→ connection error,再次抱着试一试的心态,就找之前版本的这个文件【我升级用的是7月10号的】,就是3月20号的,没想真的成功升级了,如果你也遇到同样的问题,可以试试我的方法。 core 是核心的意思,当然很重要。可以把 source\class\witframe\lib\core.php 放到标题里方便后来者检索。
X5.0_20260710\source\data\admincp\discuzfiles.md5(2299): 0f4183515d5e36b501220b5d47c0889e *source/class/witframe/core.php
X5.0_20260710\source\function\function_core.php(1038): require_once DISCUZ_ROOT.'./source/class/witframe/core.php';
.ce-block { margin-bottom: 20px;}.ce-block__content,.ce-toolbar__content { /* max-width:calc(100% - 50px) */ margin-left: auto; margin-right: auto;}.ce-paragraph { line-height: 1.6em; outline: none; text-indent: 2em; font-size: 16px;}.ce-paragraph--right { text-align: right;}.ce-paragraph--center { text-align: center;}.ce-paragraph--left { text-align: left;}.ce-paragraph--justify { text-align: justify;}.ce-paragraph-text-indent { text-align: justify;}.ce-paragraph:empty::before{content: attr(data-placeholder);color: #707684;font-weight: normal;opacity: 0;}/** Show placeholder at the first paragraph if Editor is empty */.codex-editor--empty .ce-block:first-child .ce-paragraph:empty::before {opacity: 1;}.codex-editor--toolbox-opened .ce-block:first-child .ce-paragraph:empty::before,.codex-editor--empty .ce-block:first-child .ce-paragraph:empty:focus::before {opacity: 0;}.ce-paragraph p:first-of-type{ margin-top: 0;}.ce-paragraph p:last-of-type{ margin-bottom: 0;}.svg-icon { width: 1em; height: 1em;}.svg-icon path,.svg-icon polygon,.svg-icon rect { fill: #4691f6;}.svg-icon circle { stroke: #4691f6; stroke-width: 1;}.ce-block { margin-bottom: 20px;}.ce-block__content,.ce-toolbar__content { /* max-width:calc(100% - 50px) */ margin-left: auto; margin-right: auto;}.image-tool {--bg-color: #cdd1e0;--front-color: #388ae5;--border-color: #e8e8eb;}.image-tool__image { border-radius: 3px; overflow: hidden; margin-bottom: 10px;}.image-tool__image-picture { max-width: 100%; vertical-align: bottom; display: block; margin-left: auto; margin-right: auto; }.image-tool__image-preloader { width: 50px; height: 50px; border-radius: 50%; background-size: cover; margin: auto; position: relative; background-color: #cdd1e0; background-position: center center; }.image-tool__image-preloader::after { content: ""; position: absolute; z-index: 3; width: 60px; height: 60px; border-radius: 50%; border: 2px solid #cdd1e0; border-top-color: #388ae5; left: 50%; top: 50%; margin-top: -30px; margin-left: -30px; animation: image-preloader-spin 2s infinite linear; box-sizing: border-box; }.image-tool__caption::before { position: absolute !important; content: attr(data-placeholder); color: #707684; font-weight: normal; display: none; }.image-tool__caption:empty::before { display: block; }.image-tool__caption:empty:focus::before { display: none; }.image-tool--empty .image-tool__image { display: none; }.image-tool--empty .image-tool__caption, .image-tool--loading .image-tool__caption { display: none; }.image-tool .cdx-button { display: flex; align-items: center; justify-content: center;}.image-tool .cdx-button svg { height: auto; margin: 0 6px 0 0; }.image-tool--filled .cdx-button { display: none; }.image-tool--filled .image-tool__image-preloader { display: none; }.image-tool--loading .image-tool__image { min-height: 200px; display: flex; border: 1px solid #e8e8eb; background-color: #fff; }.image-tool--loading .image-tool__image-picture { display: none; }.image-tool--loading .cdx-button { display: none; }/** * Tunes * ---------------- */.image-tool--withBorder .image-tool__image { border: 1px solid #e8e8eb; }.image-tool--withBackground .image-tool__image { padding: 15px; background: #cdd1e0; }.image-tool--withBackground .image-tool__image-picture { max-width: 60%; margin: 0 auto; }.image-tool--stretched .image-tool__image-picture { width: 100%; }.image-tool__caption { text-align: center; font-size: 14px; color: #a3a3a3; }@keyframes image-preloader-spin {0% { transform: rotate(0deg);}100% { transform: rotate(360deg);}}.inline-code {background: rgba(250, 239, 240, 0.78);color: #b44437;padding: 3px 4px;border-radius: 5px;margin: 0 1px;font-family: inherit;font-size: 0.86em;font-weight: 500;letter-spacing: 0.3px;} 看到你论坛是升级了,使用的是默认模板,没以前好看,但打开网站的速度倒是快了不少,换主机了?
上面你所说的这个文件,x5出来时,我就反应过,看来还能引起升级上的问题。
原来发现问题时,是后台清理缓存,隔三差五的出现错误,这个文件路径错误,找不到文件,其实这个文件路径在上一级文件夹中。网站后台导航几乎所有标题打开都是错误。
最初的解决办法是把整个网站文件覆盖,解决了问题,再依次减少文件,最终找到class文件夹。后面就懒得搞了,太折腾,直接备份这个文件夹,出现问题就覆盖,问题是解决了,可过不了多少时间,同样的问题又出现。再覆盖。反复折腾。
后面修改的文件有点多, 有的都记不得了。
实在没拆了,让Trae检查,写了个文件放到文件夹里(提示找不到文件的那个路径中),最终解决了问题,至此我安稳多了。我站上好象当时还留下便记。 之前的模板是X3.4的,现在不能用了;主机没换,可能是以前改动太多导致的。 不应该吧,修复一下常量应该可以用。我模块都是以前模板的,修复一下,直接般过来就可以了 之前后台出现:
Call to undefined function php_uname()
打开根目录的 index.php,在 <?php 下方添加:
javascript
▼ 展开
完美解决。
.ce-block { margin-bottom: 20px;}.ce-block__content,.ce-toolbar__content { /* max-width:calc(100% - 50px) */ margin-left: auto; margin-right: auto;}.ce-paragraph { line-height: 1.6em; outline: none; text-indent: 2em; font-size: 16px;}.ce-paragraph--right { text-align: right;}.ce-paragraph--center { text-align: center;}.ce-paragraph--left { text-align: left;}.ce-paragraph--justify { text-align: justify;}.ce-paragraph-text-indent { text-align: justify;}.ce-paragraph:empty::before{content: attr(data-placeholder);color: #707684;font-weight: normal;opacity: 0;}/** Show placeholder at the first paragraph if Editor is empty */.codex-editor--empty .ce-block:first-child .ce-paragraph:empty::before {opacity: 1;}.codex-editor--toolbox-opened .ce-block:first-child .ce-paragraph:empty::before,.codex-editor--empty .ce-block:first-child .ce-paragraph:empty:focus::before {opacity: 0;}.ce-paragraph p:first-of-type{ margin-top: 0;}.ce-paragraph p:last-of-type{ margin-bottom: 0;}.svg-icon { width: 1em; height: 1em;}.svg-icon path,.svg-icon polygon,.svg-icon rect { fill: #4691f6;}.svg-icon circle { stroke: #4691f6; stroke-width: 1;}.ce-block { margin-bottom: 20px;}.ce-block__content,.ce-toolbar__content { /* max-width:calc(100% - 50px) */ margin-left: auto; margin-right: auto;}.image-tool {--bg-color: #cdd1e0;--front-color: #388ae5;--border-color: #e8e8eb;}.image-tool__image { border-radius: 3px; overflow: hidden; margin-bottom: 10px;}.image-tool__image-picture { max-width: 100%; vertical-align: bottom; display: block; margin-left: auto; margin-right: auto; }.image-tool__image-preloader { width: 50px; height: 50px; border-radius: 50%; background-size: cover; margin: auto; position: relative; background-color: #cdd1e0; background-position: center center; }.image-tool__image-preloader::after { content: ""; position: absolute; z-index: 3; width: 60px; height: 60px; border-radius: 50%; border: 2px solid #cdd1e0; border-top-color: #388ae5; left: 50%; top: 50%; margin-top: -30px; margin-left: -30px; animation: image-preloader-spin 2s infinite linear; box-sizing: border-box; }.image-tool__caption::before { position: absolute !important; content: attr(data-placeholder); color: #707684; font-weight: normal; display: none; }.image-tool__caption:empty::before { display: block; }.image-tool__caption:empty:focus::before { display: none; }.image-tool--empty .image-tool__image { display: none; }.image-tool--empty .image-tool__caption, .image-tool--loading .image-tool__caption { display: none; }.image-tool .cdx-button { display: flex; align-items: center; justify-content: center;}.image-tool .cdx-button svg { height: auto; margin: 0 6px 0 0; }.image-tool--filled .cdx-button { display: none; }.image-tool--filled .image-tool__image-preloader { display: none; }.image-tool--loading .image-tool__image { min-height: 200px; display: flex; border: 1px solid #e8e8eb; background-color: #fff; }.image-tool--loading .image-tool__image-picture { display: none; }.image-tool--loading .cdx-button { display: none; }/** * Tunes * ---------------- */.image-tool--withBorder .image-tool__image { border: 1px solid #e8e8eb; }.image-tool--withBackground .image-tool__image { padding: 15px; background: #cdd1e0; }.image-tool--withBackground .image-tool__image-picture { max-width: 60%; margin: 0 auto; }.image-tool--stretched .image-tool__image-picture { width: 100%; }.image-tool__caption { text-align: center; font-size: 14px; color: #a3a3a3; }@keyframes image-preloader-spin {0% { transform: rotate(0deg);}100% { transform: rotate(360deg);}}.ce-block { margin-bottom: 20px;}.ce-block__content,.ce-toolbar__content { /* max-width:calc(100% - 50px) */ margin-left: auto; margin-right: auto; position: relative;}/* 主容器 */.editorjs-codeFlask_Wrapper { border: 1px solid #dcdfe6; border-radius: 5px; background-color: #f6f8fa; margin-bottom: 10px; position: relative; transition: all 0.3s ease; width: 100%; min-height: 100px; overflow: hidden;}/* 标题栏 */.editorjs-codeFlask_Header { display: flex; justify-content: flex-end; align-items: center; padding: 8px 12px; background-color: #e9ecef; border-bottom: 1px solid #dcdfe6; position: relative; z-index: 0; /* 从10降低到2 */}/* 语言显示 */.editorjs-codeFlask_LangDisplay { padding: 2px 8px; background-color: #409eff; color: white; border-radius: 3px; font-size: 12px; font-weight: 500; position: absolute; left: 12px; top: 50%; transform: translateY(-50%);}/* 内容容器 - 禁止纵向滚动 */.editorjs-codeFlask_ContentContainer { position: relative; min-height: 100px; overflow-x: hidden; /* 禁止横向滚动 */ overflow-y: hidden; transition: height 0.3s ease;}/* 编辑器容器 - 禁止纵向滚动 */.editorjs-codeFlask_Editor { position: relative; min-height: 100px; overflow-x: hidden; /* 禁止横向滚动 */ overflow-y: hidden; transition: height 0.3s ease;}/* 底部按钮容器 - 优化为更简洁的样式 */.editorjs-codeFlask_BottomButtonContainer { display: flex; justify-content: center; align-items: center; padding: 4px; background-color: #f8f9fa; border-top: 1px solid #e9ecef; position: relative; z-index: 0;}/* 底部横向折叠/展开按钮 - 优化样式,使其更融入设计 */.editorjs-codeFlask_BottomToggle { width: 100%; background-color: transparent; color: #606266; border: none; border-radius: 4px; padding: 6px 12px; font-size: 12px; font-weight: 400; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 4px; text-align: center; position: relative;}.editorjs-codeFlask_BottomToggle:hover { background-color: #e9ecef; color: #409eff;}.editorjs-codeFlask_BottomToggle:active { background-color: #dee2e6;}.editorjs-codeFlask_BottomToggle .toggle-icon { font-size: 11px; transition: transform 0.3s ease;}/* 展开按钮(显示"展开"文本)上边缘添加渐变虚化效果 */.editorjs-codeFlask_BottomToggle:has(span.toggle-icon:contains("▲"))::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(to bottom, rgba(248, 249, 250, 0) 0%, rgba(248, 249, 250, 1) 100%); pointer-events: none;}/* 展开按钮(显示"展开"文本)上边缘添加渐变虚化效果 *//* 删除不被广泛支持的:contains()选择器 */.editorjs-codeFlask_BottomToggle.expand-mode::before { content: ''; position: absolute; top: -60px; left: 0; right: 0; height: 60px; background: linear-gradient(to bottom, rgb(255 255 255 / 0%) 0%, rgba(248, 249, 250, 1) 100%); pointer-events: none;}/* CodeFlask 主容器样式 */.editorjs-codeFlask_Editor .codeflask { position: relative; background: #fafafa; border-radius: 0 0 4px 4px; min-height: 100px; overflow-x: hidden; /* 禁止横向滚动 */ overflow-y: hidden; font-family: 'Consolas', 'Monaco', 'Courier New', monospace;}/* 行号容器 */.editorjs-codeFlask_Editor .codeflask.codeflask--has-line-numbers:before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 40px; background-color: #f5f5f5; border-right: 1px solid #e0e0e0; z-index: 0;}/* 行号 */.editorjs-codeFlask_Editor .codeflask__lines { position: absolute; left: 0; top: 0; bottom: 0; width: 40px; padding: 10px 0; background-color: #f5f5f5; border-right: 1px solid #e0e0e0; z-index: 0; font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-size: 14px; line-height: 21px; color: #666; text-align: right; user-select: none; overflow: hidden;}.editorjs-codeFlask_Editor .codeflask__lines__line { padding-right: 8px;}/* 文本区域 - 输入框 */.editorjs-codeFlask_Editor .codeflask__textarea { position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 10px; border: none; background: transparent; color: transparent; caret-color: #333; resize: none; font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-size: 14px; line-height: 21px; z-index: 1; overflow-x: hidden; /* 禁止横向滚动 */ overflow-y: hidden; white-space: pre-wrap; /* 自动换行 */ tab-size: 4; outline: none;}/* 添加选中文本样式 */.editorjs-codeFlask_Editor .codeflask__textarea::selection { background-color: #b3d4fc; color: #333;}.editorjs-codeFlask_Editor .codeflask__textarea::-moz-selection { background-color: #b3d4fc; color: #333;}/* 代码预览区域 */.editorjs-codeFlask_Editor .codeflask__pre { position: absolute; top: 0; left: 0; width: 100%; /* 确保宽度不超出容器 */ height: 100%; padding: 10px; margin: 0; border: none; background: transparent; font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-size: 14px; line-height: 21px; z-index: 0; overflow-x: hidden; /* 禁止横向滚动 */ overflow-y: hidden; white-space: pre-wrap; /* 自动换行 */ pointer-events: none;}/* 代码高亮区域 */.editorjs-codeFlask_Editor .codeflask__code { display: block; font-family: 'Consolas', 'Monaco', 'Courier New', monospace; font-size: 14px; line-height: 21px; color: #333; white-space: pre-wrap; /* 自动换行 */ tab-size: 4; overflow: visible;}/* 语法高亮样式 - 确保Prism.js样式正确应用 */.editorjs-codeFlask_Editor .codeflask__code { background: transparent !important;}/* 通用语法高亮token样式 */.editorjs-codeFlask_Editor .token.comment,.editorjs-codeFlask_Editor .token.prolog,.editorjs-codeFlask_Editor .token.doctype,.editorjs-codeFlask_Editor .token.cdata { color: #708090;}.editorjs-codeFlask_Editor .token.punctuation { color: #999;}.editorjs-codeFlask_Editor .token.namespace { opacity: 0.7;}.editorjs-codeFlask_Editor .token.property,.editorjs-codeFlask_Editor .token.tag,.editorjs-codeFlask_Editor .token.boolean,.editorjs-codeFlask_Editor .token.number,.editorjs-codeFlask_Editor .token.constant,.editorjs-codeFlask_Editor .token.symbol,.editorjs-codeFlask_Editor .token.deleted { color: #905;}.editorjs-codeFlask_Editor .token.selector,.editorjs-codeFlask_Editor .token.attr-name,.editorjs-codeFlask_Editor .token.string,.editorjs-codeFlask_Editor .token.char,.editorjs-codeFlask_Editor .token.builtin,.editorjs-codeFlask_Editor .token.inserted { color: #690;}.editorjs-codeFlask_Editor .token.operator,.editorjs-codeFlask_Editor .token.entity,.editorjs-codeFlask_Editor .token.url,.editorjs-codeFlask_Editor .language-css .token.string,.editorjs-codeFlask_Editor .style .token.string { color: #9a6e3a; background: hsla(0, 0%, 100%, 0.5);}.editorjs-codeFlask_Editor .token.atrule,.editorjs-codeFlask_Editor .token.attr-value,.editorjs-codeFlask_Editor .token.keyword { color: #07a;}.editorjs-codeFlask_Editor .token.function,.editorjs-codeFlask_Editor .token.class-name { color: #dd4a68;}.editorjs-codeFlask_Editor .token.regex,.editorjs-codeFlask_Editor .token.important,.editorjs-codeFlask_Editor .token.variable { color: #e90;}/* 复制按钮样式 */.editorjs-codeFlask_CopyButton { background-color: #409eff; color: white; border: none; border-radius: 3px; padding: 6px 12px; margin-right: 8px; font-size: 12px; cursor: pointer; transition: background-color 0.2s ease; display: flex; align-items: center; justify-content: center; min-width: 28px; height: 28px;}.editorjs-codeFlask_CopyButton:hover { background-color: #66b1ff;}.editorjs-codeFlask_CopyButton.copied { background-color: #67c23a;}/* 折叠/展开按钮样式 */.editorjs-codeFlask_Toggle { background-color: #909399; color: white; border: none; border-radius: 3px; padding: 0 8px; font-size: 12px; cursor: pointer; transition: background-color 0.2s ease; display: flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; font-weight: bold;}.editorjs-codeFlask_Toggle:hover { background-color: #a6a9ad;}/* 响应式调整 */@media (max-width: 768px) { .editorjs-codeFlask_Header { padding: 6px 8px; } .editorjs-codeFlask_Editor .codeflask__textarea, .editorjs-codeFlask_Editor .codeflask__pre, .editorjs-codeFlask_Editor .codeflask__code { font-size: 13px; line-height: 19px; padding: 8px; } .editorjs-codeFlask_Editor .codeflask.codeflask--has-line-numbers:before { width: 35px; } .editorjs-codeFlask_Editor .codeflask__lines { width: 35px; font-size: 12px; }}/* 滚动条样式 - 完全隐藏纵向滚动条 */.editorjs-codeFlask_Wrapper ::-webkit-scrollbar { width: 0;/* 纵向滚动条宽度为0 */ height: 6px;/* 横向滚动条保持6px宽度 */}.editorjs-codeFlask_Wrapper ::-webkit-scrollbar-track { background: transparent; border-radius: 0;}.editorjs-codeFlask_Wrapper ::-webkit-scrollbar-thumb { background: transparent; border-radius: 0;}/* Firefox 滚动条隐藏 */.editorjs-codeFlask_Wrapper { scrollbar-width: none;/* Firefox 隐藏纵向滚动条 */}.editorjs-codeFlask_Wrapper ::-moz-scrollbar { width: 0; height: 6px;}/* 焦点状态 */.editorjs-codeFlask_Wrapper:focus-within { border-color: #409eff; box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.2);}/* 只读模式样式 */.editorjs-codeFlask_Wrapper.readonly .editorjs-codeFlask_Header { background-color: #f5f7fa;}.editorjs-codeFlask_Wrapper.readonly .editorjs-codeFlask_Editor .codeflask__textarea { cursor: default;}/* 确保所有元素正确显示 */.editorjs-codeFlask_Wrapper * { box-sizing: border-box;}/* 修复行号对齐 */.editorjs-codeFlask_Editor .codeflask--has-line-numbers .codeflask__textarea,.editorjs-codeFlask_Editor .codeflask--has-line-numbers .codeflask__pre { padding-left: 50px;}.editorjs-codeFlask_Editor .codeflask--has-line-numbers .codeflask__lines { padding-top: 10px;}/* 语言显示元素 - 添加点击样式 */.editorjs-codeFlask_LangDisplay { padding: 2px 8px; background-color: #409eff; color: white; border-radius: 3px; font-size: 12px; font-weight: 500; position: absolute; left: 12px; top: 50%; transform: translateY(-50%); cursor: pointer; transition: all 0.2s ease;}.editorjs-codeFlask_LangDisplay:hover { background-color: #66b1ff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);}/* 语言选择弹窗 */.editorjs-codeFlask_LanguagePopup { background-color: white; border: 1px solid #dcdfe6; border-radius: 4px; box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); width: 250px; max-height: 300px; z-index: 1000; overflow: hidden;}/* 搜索框 */.editorjs-codeFlask_LanguageSearch { width: 100%; padding: 8px 12px; border: none; border-bottom: 1px solid #ebeef5; font-size: 12px; outline: none; box-sizing: border-box;}/* 语言列表 */.editorjs-codeFlask_LanguagesList { max-height: 250px; overflow-y: auto;}/* 语言选项 */.editorjs-codeFlask_LanguageItem { padding: 8px 12px; font-size: 12px; cursor: pointer; transition: background-color 0.2s ease;}.editorjs-codeFlask_LanguageItem:hover { background-color: #f5f7fa;}.editorjs-codeFlask_LanguageItem.selected { background-color: #ecf5ff; color: #409eff; font-weight: 500;}/* 滚动条样式 */.editorjs-codeFlask_LanguagesList::-webkit-scrollbar { width: 6px;}.editorjs-codeFlask_LanguagesList::-webkit-scrollbar-track { background-color: #f5f7fa;}.editorjs-codeFlask_LanguagesList::-webkit-scrollbar-thumb { background-color: #c0c4cc; border-radius: 3px;}.editorjs-codeFlask_LanguagesList::-webkit-scrollbar-thumb:hover { background-color: #909399;}.inline-code {background: rgba(250, 239, 240, 0.78);color: #b44437;padding: 3px 4px;border-radius: 5px;margin: 0 1px;font-family: inherit;font-size: 0.86em;font-weight: 500;letter-spacing: 0.3px;}
页:
[1]