Skip to content

工作遇到的bug合集

虚拟机session 权限设置不生效,导致一直登录不上去

判断session 文件是否有权限,文件是否生成

设置sesion 可保存的位置,并查看是否有文件生成 session.save_path

/path/to/your/session/save/

因mysql版本问题导致 groupby clause; this is incompatib whith sql_mode=only_full_group_by

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

fastadmin 使用

fastadmin,信手拈来,其实会有很多问题,比如使用curd插件,你会发现安装不上去,原来是要切到7.4版本,在做项目的时候发现语言包会有对应的语言文件,然后默认是有导出的还挺快,有一个对应的目录js文件,跳转的时间太过短了原来是公共方法error可以设置默认久的文件,他导入导出有对应的逻辑,一些js配置选项,比如字段的增减是在js中的,另外要加按钮在之后,最后用了压缩打包,生成excel文件,需要开启zip插件 zip 插件

phpstorm 设置末尾空白行显示出来

php后端跨域问题设置

php
header("Access-Control-Allow-Origin: *"); // 替换为你的 Vue.js 开发服务器地址  
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");  
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");

vitepress 引入片段

markdown
<!--@include: ./0702.md{15,17}-->

为何我要搭建日记博客

平时我有记笔记的习惯,喜欢抄抄写写

我记性太差,有严重鼻炎,很多东西一时半会想不起来,记下留个印象

有些感想,写着写着就思路清楚了,也不忧郁了

vitepress 是非常优秀的文档,它支持markdown,vue

有些东西分享出来,让有缘人看到,幸许哪天找到志投意合之人

准备环境

安装 Node.js 首先确保你的计算机上已经安装了最新版本的 Node.js(至少 v12 或更高版本)。你可以访问 Node.js 官网 下载并安装

检验是否安装

shell
node -v
npm -v

全局安装 VitePress

shell
   npm install -g vitepress
    pnpm vitepress init

初始化及创建新项目,及运行

shell
    npm  init vitepress
    cd vite_test
    npm run dev

2024.03.28 用vitepress写首个博客,记记文章,推销自己

我是今年偶然间看到这个东西的,发现这个东西挺适合记文章,写日记,写感想,它是vite,vue,markdown的结合体,用他写文章再好不过了,为此我花了几天时间了解它,并且准备用他搞个网站,把平时积累的东西一一搬过去,我太爱写东西了,一天如果不写点东西,总觉得这天白活,从买服务器,到买域名,到自己动手搭建,找方法,然后自动化只要推送,网站就打包好了,最最主要支持markdown,太香了,当然你最好搞个git,方便管理,同步,当然现在备案还在审核阶段,其他的还在一步一步搭建中,搬移中,后期准备弄成动态的,一有时间就准备往个人的网站塞东西,未来可期

做人如果没梦想,那和咸鱼有什么区别 喜文乐记的个人网站: www.xiwenleji.cn

phpstorm 过长会自动换行,在html 有较长属性时

工作遇到飞书打包超大,无法上传问题

每个小程序他都有自己的空间,超过一定的空间就上传不了,这个时候要么通过压缩代码,要么通过优化代码,而uniapp可以先打包,让代码压缩到一行,然后上传,这样就完美解决问题,原来的11.3m,迅速变成了2.4m,为了这个我想了很多办法,先是用微信小程序的分包处理功能,解决了微信小程序的上传功能,接着飞书上报错,看开始看不出是哪行报错还好提示了,是哪个页面报错,他有提示,我先屏蔽掉他们,这样就解决了报错问题,接着上传,刚开始上传还能成功,后来不行了,原来是页面太多,导致超容量了,我就开始想想是什么问题,问了官方,原来 他们上传只能上传10m,我一看我超了,他们也不提示出来,只说超时,害我找半天,然后把没用的代码给去掉,发现很多都去不掉,只得通过想其他办法,灵光一现, 我发现可以通过uniapp 类似webpack打包,直接打包上传,原来这样完美解决了我的问题,预览后才2.4m

飞书选中框架,再次编译会消失问题

  • 找到uniapp的manifest.json
  • 找到相关的小程序,都是小写的
  • 加入新框架编译配置
  • mp-lark
json
    "mp-lark" : {
        "appid" : "xxx",
        "unipush" : {
            "enable" : false
        },
        "uniStatistics" : {
            "enable" : false
        },
        "newFramework": {
            "enabled": true,
            "minimumSupportedVersion": "6.7"
        }
    }

遇到多行问题,会莫名出现两行数据

原来是我这边的key, 然后再重新赋值,他没有这个key,导致了多行数据 原来是uniapp编译时不 formdatas 清空,再重置就好了

飞书小程序多行默认值问题,要么加减问题,要么清空,要么加减是原来的值

  • flwdefault 如果用默认的值,会出现加减老数据
  • 故再创建一个值,保留这个老的的,然后加减用其他的变量代替这个值,同时监听老数据,这样就不会造成多行为空,或者加减有值了

迁移到飞书小程序,使用插件不生效,点击无反应

vue
		onclick () {
                console.log('section-more');
				this.$emit('section-more-data',{})
        },

// 不能这么写
  • 得把中划线改成小驼峰才生效,否则不生效
vue
		onclick () {
                console.log('section-more');
				this.$emit('sectionMoreData',{})
        },

// 得这么写

宝塔续签ssl

宝塔老是失效,再去操作的已经过了很久,这次做了个定时任务,保证ssl 永不过期

  1. acme_v2.py 是否有可执行的权限
  2. 是否缺少模块
  3. pip3 安装他们
  4. 在计划任务添加这个
shell
sudo pip3 install pycryptodome
pip install pycryptodome
sudo python3 /www/server/panel/class/acme_v2.py --domain www.xiwenleji.cn --renew=1

python抓取劝学网的文本信息

python
# 单页面xpath爬虫
from bs4 import BeautifulSoup
import requests

url = "https://www.quanxue.cn/ct_fojia/sishier/sishier01.html"
data =   requests.get(url).content.decode('utf-8', 'ignore')

soup = BeautifulSoup(data, 'html.parser').get_text()

soup = soup.replace(" ", "")

print('\033[33;1m' + soup + '\033[0m')

vitepress 自定义文章格式超好始

  1. 下载安装 markdown-it-container
  2. 在要使用的地方用这个模块处理掉markdown
  3. 在全局静态文件中加上相对应的css
  4. 使用并确认是否生效
js
import { defineConfig } from 'vitepress'
import { markdown } from '../config/markdown';

export default defineConfig({
	markdown,
})
ts
import markdownItContainer from 'markdown-it-container';

export const markdown: MarkdownOptions = {
    config: (md) => {
        md.use(markdownItContainer, 'custom_container', {
            render(tokens, idx) {
                const token = tokens[idx];
                if (token.nesting === 1) {
                    return `<div class="custom-container">\n`;
                } else {
                    return `</div>\n`;
                }
            }
        });
    }
}
css
.custom-container{
    background-color: red;
}

使用phpstorm的 pasteImagesIntoMarkdown 自动保存到根目录配置项

  • /public/images/${dir}/$

vue项目报这个错

  • 解决方案 在vue.config.js 添加这个配置
json
{
	devServer:{
	   client:{
	      overlay: false
       }
    }
}

chosen插件 ajax 使 select 再生效

$('.chosen_one').chosen({width: '150px' /* 设置宽度为250像素*/})
$('.chosen_one').trigger('chosen:updated')

tiny富文本,多个选择,ajax失效问题

  1. 先销毁,后再init
js
tinymce.remove('textarea.textarea_one');
        tinymce.init({
            selector: 'textarea.textarea_one',
            plugins: 'advlist autolink lists link image charmap print preview anchor',
            toolbar: 'undo redo | formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent',
            height: 400,
            menubar: false,
            branding: false,
        })

富文本超出截段有图片时

  1. 把mysql 的text 改成 mediumtext,使得不被截取,text 默认64kb, mediumtext 16m

禅道新数据库配置问题

  1. 这个rounte 文件下,把db给暴露在外

  2. libiary / dao 下的 改dao下的文件,如图显示,把db连接

  3. laoDao下,这个$this->daodb 放到这位置

  4. framework,control,也全局注入

  5. phpxdebug,在php7.4 版本不能调试 写法与xdebug2不太符合,端口写法不一致

markdown
zend_extension = php_xdebug.dll
xdebug.remote_enable = On
xdebug.remote_host = localhost
xdebug.remote_port = 9200
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9200