首页
关于
Search
1
Fastadmin 美化后台样式
310,896 阅读
2
关于破解移动宽带光猫 型号: GS3101 超级管理员密码
26,922 阅读
3
给Thinkphp3用上composer
19,965 阅读
4
Wallpaper完美壁纸修复天气bug(无需申请API)
19,757 阅读
5
PECL无法安装时手动编译安装PHP扩展
19,611 阅读
Linux
Mysql
PHP
Nginx
归档
Android
Python
IOS
浴室沉思
C++
CCF CSP认证
Windows
C#
前端
登录
Search
标签搜索
php
git
Windows
wkhtmltopdf
短信
defense
API
Google Photos
python
wkhtmltoimage
网页快照
linux
ssr
https
mail
sms
小程序
封装
ComoBox
拼多多
Guooo
累计撰写
126
篇文章
累计收到
81
条评论
首页
栏目
Linux
Mysql
PHP
Nginx
归档
Android
Python
IOS
浴室沉思
C++
CCF CSP认证
Windows
C#
前端
页面
关于
搜索到
126
篇与
的结果
2025-01-17
Centos7更换YUM源
Centos7停更后,对应的YUM仓库也无法连接,所以只能替换YUM源把下面的shell保存为如yumcentos7.sh,然后执行bash yumcentos7.sh即可#!/bin/bash # 检查系统版本 if [ -f /etc/redhat-release ]; then OS_VERSION=$(grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release) else echo "未找到 /etc/redhat-release 文件。请确保您运行的是 CentOS 系统。" exit 1 fi # 仅支持 CentOS 7 if [[ $OS_VERSION != "7."* ]]; then echo "此脚本仅支持 CentOS 7 系统。当前系统版本为:$OS_VERSION" exit 1 fi # 备份现有的YUM源配置文件 if [ -f /etc/yum.repos.d/CentOS-Base.repo ]; then cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak echo "现有的YUM源配置文件已备份为CentOS-Base.repo.bak" fi # 删除所有现有的YUM源配置文件 rm -f /etc/yum.repos.d/*.repo # 添加阿里云的CentOS源 cat > /etc/yum.repos.d/CentOS-Base-ali.repo <<EOF [ali-base] name=CentOS-\$releasever - Base - aliyun baseurl=http://mirrors.aliyun.com/centos/7/os/\$basearch/ gpgcheck=1 enabled=1 priority=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [ali-updates] name=CentOS-\$releasever - Updates - aliyun baseurl=http://mirrors.aliyun.com/centos/7/updates/\$basearch/ gpgcheck=1 enabled=1 priority=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [ali-extras] name=CentOS-\$releasever - Extras - aliyun baseurl=http://mirrors.aliyun.com/centos/7/extras/\$basearch/ gpgcheck=1 enabled=1 priority=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [ali-plus] name=CentOS-\$releasever - Plus - aliyun baseurl=http://mirrors.aliyun.com/centos/7/centosplus/\$basearch/ gpgcheck=1 enabled=1 priority=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 EOF # 添加CentOS官方Vault源 cat > /etc/yum.repos.d/CentOS-Vault.repo <<EOF [vault-base] name=CentOS-\$releasever - Base - Vault baseurl=http://vault.centos.org/7.9.2009/os/\$basearch/ gpgcheck=1 enabled=1 priority=10 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [vault-updates] name=CentOS-\$releasever - Updates - Vault baseurl=http://vault.centos.org/7.9.2009/updates/\$basearch/ gpgcheck=1 enabled=1 priority=10 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [vault-extras] name=CentOS-\$releasever - Extras - Vault baseurl=http://vault.centos.org/7.9.2009/extras/\$basearch/ gpgcheck=1 enabled=1 priority=10 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [vault-plus] name=CentOS-\$releasever - Plus - Vault baseurl=http://vault.centos.org/7.9.2009/centosplus/\$basearch/ gpgcheck=1 enabled=1 priority=10 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 EOF # 清理并生成缓存 yum clean all yum makecache echo "YUM源已成功更换(包括CentOS Vault和阿里云源)"
2025年01月17日
186 阅读
0 评论
0 点赞
2024-12-18
极创屋点餐小程序
多门店点餐小程序,正版商用,完美运营无BUG,持续更新功能购买即送一年免费更新全开源,无需授权,自用无限制,可二开,禁止倒卖,发现后将终止更新。演示小程序扫码:或微信搜索:云龙让茶 体验H5版:https://drink.icufree.com/h5账号:13672654416密码:123456后台:https://drink.icufree.com/admins.php账号:admin密码:123456更多详细信息可联系客服客服QQ:965842886技术栈:前端:Uniapp + uview后端:Thinkphp + mysql5.7+支持打包:小程序、H5、APP产品特色多门店支持,使用连锁店模式如喜茶、霸王茶姬、麦当劳、瑞幸等子门店功能,精细化控制门店权限精准数据统计,门店、商品统计图表、销量金额、支付方式一目了然0成本运营,搭建好后只需一台平板甚至手机即可在线接单极低资源占用,实测最低只需2核4G即可支持每日数千单工作台模式,自带Websocket实时通知,免除轮询性能烦扰积分商城,实物/虚拟全部支持,余额/积分我全都要多年打磨,实测支持千万级数据,持续性能优化用户签到、套餐、小料、消息订阅、IP归属地、图片压缩、数据验证、语音通知等海量功能可自行体验
2024年12月18日
168 阅读
0 评论
1 点赞
2024-12-13
Fastadmin 美化后台样式
0. 前言前几天有人问我怎么修改后台框架样式,我给他找到了 统一修改后台命令行生成的样式 这篇文章,但是朋友说介绍的不是很明白,于是这里参考这篇文章的思路简单扩展一下。1. 新建自定义样式首选确保你在debug模式下在 public/assets/css 目录下新建一个自定义的css文件,用于修改你想要的样式。比如我命名custom-guooo.css。这里的样式我只抛砖引玉,你也可以自行发挥,代码如下:.btn { display: inline-block; line-height: 1.5; color: #212529; text-align: center; text-decoration: none; vertical-align: middle; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-color: transparent; border: 1px solid transparent; font-size: 1rem; transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; padding: 8px 20px; border-radius: 10px; font-weight: 500; } .btn-primary { color: #7888fc; border-color: #7888fc } .btn-primary.focus,.btn-primary:focus,.btn-primary:hover,.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active { color: #fff; border-color: #7888fc; background-color: #7888fc; box-shadow: 0 7px 23px -8px #7888fc } .btn-secondary { color: #5b5b5b; border-color: #e4e6ef } .btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover,.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active { color: #5b5b5b; border-color: #e4e6ef; background-color: #e4e6ef; box-shadow: 0 7px 23px -8px #e4e6ef } .btn-success { color: #708069; border-color: #708069 } .btn-success.focus,.btn-success:focus,.btn-success:hover,.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active { color: #fff; border-color: #708069; background-color: #708069; box-shadow: 0 7px 23px -8px #708069 } .btn-danger { color: #f75d6fd8; border-color: #f75d6fd8 } .btn-danger.focus,.btn-danger:focus,.btn-danger:hover,.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active { color: #fff; border-color: #f75d6fd8; background-color: #f75d6fd8; box-shadow: 0 7px 23px -8px #f75d6fd8 } .btn-warning { color: #f5af47ea; border-color: #f5af47ea } .btn-warning.focus,.btn-warning:focus,.btn-warning:hover,.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active { color: #fff; border-color: #f5af47ea; background-color: #f5af47ea; box-shadow: 0 7px 23px -8px #f5af47ea } .btn-info { color: #9465fcea; border-color: #9465fcea } .btn-info.focus,.btn-info:focus,.btn-info:hover,.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active { color: #fff; border-color: #9465fcea; background-color: #9465fcea; box-shadow: 0 7px 23px -8px #9465fcea } .btn-dark { color: #5b5b5b; border-color: #d1d3e0 } .btn-dark.focus,.btn-dark:focus,.btn-dark:hover,.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active { color: #5b5b5b; border-color: #d1d3e0; background-color: #d1d3e0; box-shadow: 0 7px 23px -8px #d1d3e0 } .btn-default { color: #5b5b5b; border-color: #d1d3e0 } .btn-default.focus,.btn-default:focus,.btn-default:hover,.btn-default:not(:disabled):not(.disabled).active,.btn-default:not(:disabled):not(.disabled):active { color: #5b5b5b; border-color: #d1d3e0; background-color: #d1d3e0; box-shadow: 0 7px 23px -8px #d1d3e0 }2. 引入自定义样式修改 public/assets/css/backend.css 文件(注意不要修改backend.min.css),在第15行左右加一行引入你的自定义文件@import url("../css/custom-guooo.css");,注意要确保是最后一个@import。引入之后你就可以刷新浏览器看一下样式是否生效了,记得提前清理浏览器缓存。3. 压缩打包后台的CSS修改了backend.css后还需要手动压缩后台css,命令行执行php think min -m backend -r css然后关闭调试模式,清理浏览器缓存后再次刷新,样式生效的话就可以了。至此就大功告成了其他如果你直接使用了上面的样式,可能后台的登录页按钮会有点奇怪,这个按钮强制定义了背景色为蓝色,你可以修改application/admin/view/index/login.html第135行左右的按钮为:<button type="submit" class="btn btn-primary btn-lg btn-block">{:__('Sign in')}</button>弹窗样式也是修改backend.css,效果图的样式是修改了下面这几个,有需要可以自行替换(修改后别忘了压缩打包).layui-layer-fast .layui-layer-btn a { background-color: #fff; color: #708069 !important; height: 32px; line-height: 32px; margin-top: 0; font-size: 13px; border: none; } .layui-layer-fast .layui-layer-btn .layui-layer-btn0 { background-color: #708069; color: #fff !important; border: #708069; } .layui-layer-fast .layui-layer-footer { padding: 8px 20px; background-color: #f5f5f5; height: auto; min-height: 53px; text-align: inherit !important; border-top: 1px solid #C0C0C0; } .layui-layer-fast .layui-layer-setwin > a:after { content: "\e625"; font-family: iconfont; font-style: normal; font-weight: normal; text-decoration: inherit; position: absolute; font-size: 18px; color: #708069; margin: 0; z-index: 1; }
2024年12月13日
310,896 阅读
2 评论
4 点赞
2024-09-01
Windows模仿linux添加环境变量别名
Windows上一直没办法使用环境变量别名,每次都要输入一长串前缀才能做命令行。比如php的环境,默认命令行版本是7.4,如果我想临时用下8.0版本执行命令就要 D:\phpEnv\php\php-8.0\php.exe artisan xxxx,非常不友好。现在想了个办法在电脑C盘下创建一个名为alias的文件夹,专门存放各种别名文件。以后需要各种环境变量就直接在这个文件夹下新建就可以了。然后在 C:\alias 新建别名文件比如php80.bat,里面内容为:@echo off D:\phpEnv\php\php-8.0\php.exe %*解释:文件名:php80.bat 就是你需要的别名名称文件内容:%* 代表 .bat 脚本的传参,将会接受用户所有输入参数,前面的D:\phpEnv\php\php-8.0\php.exe替换为你的实际命令文件路径即可。最后别忘了把 C:\alias 添加到环境变量里。最后看下效果
2024年09月01日
14,173 阅读
0 评论
3 点赞
2024-03-14
Wallpaper完美壁纸修复天气bug(无需申请API)
Wallpaper完美壁纸修复天气bug(无需申请API)20240314:修复了https证书问题,无法获取天气的请重新执行下面的操作先看看修复后的:修复过程不需要申请API,我已经申请好了高德天气企业API,每天几百万额度,反正自己也用不完,直接免费放出来给大家1. 首先得去Wallpaper里找到Perfect Wallpaper-完美壁纸 的这个壁纸,然后右键,点击在资源管理器中打开2. 进去后注意一下地址栏显示的文件夹是否为884307090,一般是不会错,然后打开js文件夹,直接下载我已经修改好的文件(下载地址在最后)复制进去替换3. 替换完成后重启一下Wallpaper或者切换下其他壁纸再切换回来即可4. 下载地址点击这里下载修改后的time.js,如果没有下载而是打开了新页面,直接右键另存为即可
2024年03月14日
19,757 阅读
16 评论
7 点赞
2023-09-01
Uniapp/小程序网络请求出现错误errno: 600001的解决方案
最近调试一个小程序提交上线,每天都几百人使用,但是经常有人反应小程序出现请求错误,包括图片加载不出来,微信登录提示失败,菜单无法获取等,出错率甚至一度达到10%,于是我就开始排查。首先看了眼后台没有问题,没有报错请求,看nginx日志配合客户反应出错的时间点,发现小程序出问题时根本没有请求到后端来,那么问题就是出在前端了。首先我想到的是不是代码有错误,于是查看了微信We分析的js日志,发现零零散散的几个报错,还都是css样式问题,这里排除。小程序是使用Uniapp开发的,使用了luch-request这个请求框架,然后我又想到是框架有bug不适配,于是在代码里加了日志上报,把所有请求的拦截器错误信息都上报到微信,过了一段时间一看日志,发现了几百条错误信息,全部都是网络请求错误,看来问题是出在这了。错误信息包括但不限于以下:{"errno":600001,"errMsg":"request:fail errcode:-101 cronet_error_code:-101 error_msg:net::ERR_CONNECTION_RESET"} {"errno":600001,"errMsg":"request:fail -101:net::ERR_CONNECTION_RESET"} {"errno":600001,"errMsg":"request:fail errcode:-7 cronet_error_code:-7 error_msg:net::ERR_TIMED_OUT"} {"errno":600001,"errMsg":"request:fail -109:net::ERR_ADDRESS_UNREACHABLE"} {"errno":600003,"errMsg":"request:fail interrupted"} {"errno":5,"errMsg":"request:fail timeout"}其中600001是最多的,还有一些600002的报错,但是我在我手机和店员的手机上都没能复现错误,没办法只能开始面向Google编程,做了如下处理:首先怀疑是证书问题,因为原来是使用的Let's Encrypt免费证书,我担心是不是小程序不兼容,申请了腾讯云免费证书换上,然后去https://myssl.com/检测证书,评级是A,证书链也完整,非常健康,但是问题依旧。然后我又怀疑是不是TLS版本影响,因为客户反应说安卓问题比较多而且机型也不老旧,IOS也有但是没那么多,我看到有人说安卓新版本证书验证更严格了,而服务器目前是支持了ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3这三个版本,我怀疑TLSv1.3可能存在不兼容,于是改成ssl_protocols TLSv1.1 TLSv1.2,没用;又想是不是旧版本拖后腿呢,于是改成ssl_protocols TLSv1.2 TLSv1.3;,没用;最后只留下ssl_protocols TLSv1.2;,还是一样,问题依旧。还有哪里又问题呢,带宽?有可能,小程序图片比较多而且有很多大图都没处理,服务器带宽又只有10M左右,并发高的情况下可能会导致请求失败吗?不好说,试试吧,把所有资源文件传到腾讯云CDN,又花钱买了https请求包,小程序加载速度是快了,但是问题依旧。请求时间?http请求超时已经改到60s了,也不可能,而且也尝试开启了http2和不验证ssl证书,都没用,问题依旧。新版机型才有的问题,新机型有什么不一样呢?IPv6!对了!有些手机默认是开启IPv6的,但是服务器可能并不支持IPv6又或者没有IPv6的地址,会不会也有影响?赶紧跑到服务器看了下,果然开着IPv6,赶忙关闭然后重启网络服务,满心欢喜,但问题依旧。IP没问题,DNS呢?会不会服务器DNS或者域名解析DNS服务器有问题?服务器网络问题?一个个都尝试修改,问题依旧。请求token太长?校验合法域名?没备案?强制https跳转?都不对,问题依旧。搜索引擎都被我翻烂了,ChatGPT都问哑火了,怎么回事小老弟?最后只能从线下客户入手了,让店员把API的域名打印成二维码,找到出问题的客户,直接让他们帮忙扫码看有无问题,最后您猜怎么着嘿?所有出问题的客户扫码都TM跳转到一个地址:原来域名被反诈中心误拦截了,我刚申请的新域名啊!我TM江苏真行
2023年09月01日
19,031 阅读
0 评论
3 点赞
2023-08-02
PECL无法安装时手动编译安装PHP扩展
这里用mongodb举例1.手动下载mongodb扩展源码https://pecl.php.net/package/mongodb如需要下载其他扩展,在官网右上角搜索即可2.找个目录解压,进入到第二层文件夹目录(和package.xml同级目录)3.使用终端进入刚才这个目录cd /xxx/mongodb-1.16.1/mongodb-1.16.14.找到你要安装的对应PHP版本的phpize,如果是默认php版本可以使用which phpize查看路径,比如我需要安装php7.2版本的扩展,这里就是用我电脑上php7.2路径里的phpize,然后回车/Applications/MAMP/bin/php/php7.2.34/bin/phpize5.生成安装文件同上面一样,找到你要安装的对应PHP版本的php-config,找不到可以使用which php-config参考查看比如我电脑对应的路径为/Applications/MAMP/bin/php/php7.2.34/bin/php-config那我这一步我的执行命令就是./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.34/bin/php-config等于后面路径为我的php-config文件存放路径6.编译扩展sudo make && make install编译出的扩展会自动保存到你php对应的目录下7.最后修改php.ini文件,加上对应扩展名称,重启PHP即可extension=mongodb.so8.完成
2023年08月02日
19,611 阅读
0 评论
0 点赞
2023-06-22
Linux安装最新版Tinyproxy 支持密码验证
前言之前在Linux服务器安装过tinyproxy用于ip代理,但是yum安装的话,版本最高只到1.8.3,是不支持账号密码验证的,也就是说要么限制ip,不然任何人都能连。而到了1.10.0就支持Basic HTTP Authentication了,但是得通过编译安装。目前Github上最新的是1.11.1,本文是安装的简要教程。安装及配置如果通过yum安装过旧版本,得先卸载掉。yum erase tinyproxy从Github下载安装最新版的命令wget https://github.com/tinyproxy/tinyproxy/releases/download/1.11.1/tinyproxy-1.11.1.tar.gz tar -zxvf tinyproxy-1.11.1.tar.gz cd tinyproxy-1.11.1 ./configure make make install安装完成后可用以下命名查看路径和版本。# 查看路径 which tinyproxy /usr/local/bin/tinyproxy # 创建超链接 rm -rf /usr/sbin/tinyproxy && ln -s /usr/local/bin/tinyproxy /usr/sbin/tinyproxy # 查看版本,最新1.11.1 tinyproxy -v tinyproxy 1.11.1修改配置文件默认的配置文件路径vi /usr/local/etc/tinyproxy/tinyproxy.conf主要修改的地方# 将下面直接注释掉,允许所有ip访问 #Allow 127.0.0.1 #Allow ::1 # 设置用户名密码 BasicAuth username password # 顺便将下面两行取消注释,后面有用到 PidFile "/var/run/tinyproxy/tinyproxy.pid" LogFile "/var/run/tinyproxy/tinyproxy.log" 创建文件mkdir -p /var/run/tinyproxy touch /var/run/tinyproxy/tinyproxy.pid touch /var/run/tinyproxy/tinyproxy.log chmod 777 /var/run/tinyproxy/tinyproxy.log创建service系统服务因为新版tinyproxy取消了多进程只有一个进程,所以服务类型不能用forking了,要改一下改成simplevi /usr/lib/systemd/system/tinyproxy.service# 粘贴以下代码 [Unit] Description=Startup script for the tinyproxy server After=network.target [Service] #Type=forking Type=simple PIDFile=/var/run/tinyproxy/tinyproxy.pid #这里加了 -d 非后台运行 ExecStart=/usr/local/bin/tinyproxy -d -c /usr/local/etc/tinyproxy/tinyproxy.conf ExecReload=/bin/kill -HUP $MAINPID KillMode=process [Install] WantedBy=multi-user.target然后就可以正常使用service命令了service tinyproxy start # 启动 service tinyproxy stop # 停止 service tinyproxy restart # 重启 service tinyproxy status # 状态 # 将tinyproxy服务设置开机自启 systemctl enable tinyproxy最后整理脚本命令yum erase tinyproxy wget https://github.com/tinyproxy/tinyproxy/releases/download/1.11.1/tinyproxy-1.11.1.tar.gz tar -zxvf tinyproxy-1.11.1.tar.gz cd tinyproxy-1.11.1 ./configure make make install # 创建超链接 rm -rf /usr/sbin/tinyproxy && ln -s /usr/local/bin/tinyproxy /usr/sbin/tinyproxy # 查看版本,最新1.11.1 tinyproxy -v tinyproxy 1.11.1 vi /usr/local/etc/tinyproxy/tinyproxy.conf # 修改配置 # 将下面直接注释掉,允许所有ip访问 #Allow 127.0.0.1 #Allow ::1 # 设置用户名密码 BasicAuth username password # 顺便将下面两行取消注释,后面有用到 PidFile "/var/run/tinyproxy/tinyproxy.pid" LogFile "/var/run/tinyproxy/tinyproxy.log" # 创建文件 mkdir -p /var/run/tinyproxy touch /var/run/tinyproxy/tinyproxy.pid touch /var/run/tinyproxy/tinyproxy.log chmod 777 /var/run/tinyproxy/tinyproxy.log # 添加系统服务 vi /usr/lib/systemd/system/tinyproxy.service #粘贴以下代码 [Unit] Description=Startup script for the tinyproxy server After=network.target [Service] #Type=forking Type=simple PIDFile=/var/run/tinyproxy/tinyproxy.pid #这里加了 -d 非后台运行 ExecStart=/usr/local/bin/tinyproxy -d -c /usr/local/etc/tinyproxy/tinyproxy.conf ExecReload=/bin/kill -HUP $MAINPID KillMode=process [Install] WantedBy=multi-user.target #启动 systemctl start tinyproxy #开机自启 systemctl enable tinyproxy
2023年06月22日
18,896 阅读
0 评论
0 点赞
1
2
...
16