实战杂记

查看443端口是否被占用?是哪个占用的?

netstat -anon | grep 443

启动防火墙

systemctl start firewalld

杀掉占用的443端口的进程

[root@104 ~]# fuser -k 443/tcp

查看所有打开的端口: firewall-cmd --zone=public --list-ports

更新防火墙规则: firewall-cmd --reload

添加端口

firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

nps 操作流程

https://www.cnblogs.com/smlile-you-me/p/15096899.html

linux 修改etc/profile 环境时其他命令失效

执行命令:export PATH=/usr/bin:/usr/sbin:/bin:/sbin,重新配置下PATH环境变量

sudo find / -name "php.ini" 查找路径

启动 
# svnserve -d -r /home/svn
停止
# kill all svnserve
查找进程
# ps -ef|grep svnserve

版本 svnserve --version

创建svn库

svnadmin create  api.szwbk.cn

(e)  edit                            - change merged file in an editor                          #直接进入编辑 
(df) diff-full                    - show all changes made to merged file            #显示更改至目标文件的所有变化 
(r)  resolved                     - accept merged version of file 

(dc) display-conflict       - show all conflicts (ignoring merged version)  #显示所有冲突 
(mc) mine-conflict          - accept my version for all conflicts (same)      #冲突以本地为准 
(tc) theirs-conflict          - accept their version for all conflicts (same)     #冲突以服务器为准 
(mf) mine-full                 - accept my version of entire file (even non-conflicts)#完全以本地为准 
(tf) theirs-full                  - accept their version of entire file (same)          #完全以服务器为准 

(p)  postpone                   - mark the conflict to be resolved later                  #标记冲突,稍后解决 
(l)  launch                         - launch external tool to resolve conflict 
(s)  show all                      - show this list 

查看具体端口被哪个程序占用

lsof -i :8080

查看命令路经 which php

svn 日志报错
eadable.最后在svnserve.conf
文件中,设置anon-access

linux 打包文件夹

tar czf soft.tar.gz    soft(要打包的文件名)

svn 启动

svnserve -d -r /usr/local/svnrepos

svn 查看是否监听3690端口

netstat -tln | grep 3690

ps命令查看svnserve进程是否正在运行

ps -ef | grep svnserve

svn停止

ps -ef|grep svnserve
kill-9 进程号

查看历史命令

history

文件搜索命令

which、whereis、localte、find

niginx 重启

nginx -s reload

linux require 文件时 服务器报500错

ini_set('display_errors',1);            //错误信息
ini_set('display_startup_errors',1);    //php启动错误信息
error_reporting(-1);                    //打印出所有的 错误信息

找到  /usr/local/nginx/conf 目录下的fastcgi.conf 文件
将open_basedir 这段注释掉

查找nginx 进程

ps -ef|grep nginx

强制停止

pkill -9 nginx

fastadmin 无法访问后台 404 问题

找到ngnix里配置将
include enable-php.conf
修改为
include enable-php-pathinfo.conf;

find 使用命令

find /  -name nps.config

Windows 计算机管理

Windows+R 热键运行",键入 compmgmt.msc,然后点击"确定"。

netstat -ano 显示所有端口
taskkill -pid 131800(进程号) -F  杀死进程

定时计划命令

crontab
crontab -e 修改内容
crontab -l 列表

Windows --快捷键

ctrl+shift+n 快捷创建文件夹
alt + f4  关机

svn 查看日志报错

svnserve.conf 配置文件添加
anon-access = none

Windows 打开服务启动MongoDB

    services.msc 或者 在我的电脑点击管理 

windows 休眠文件关闭

进入命令行界面,输入 powercfg -h off,即可关闭休眠功能(输入powercfg -h on ,开启休眠功能)同时berfil.sys 文件也会自动

nps 启动

/nps start  /* 后台启动服务 */

./nps stop  /* 结束后台进程 */

./nps reload  /* 重新加载配置 */

./nps  /* 前台启动服务 */

phpstorm 快捷键

ctrl+j            插入活动代码提示
ctrl+alt+t        当前位置插入环绕代码
alt+insert        生成代码菜单

ctrl+q            查看代码注释
ctrl+d            复制当前行
ctrl+y            删除当前行
shift+F6          重命名
ctrl+shift+u      字母大小写转换
ctrl+f            查找
ctrl+r            替换
F4                查看源码
ctrl+shift+i      查看变量或方法定义源
ctrl+g            跳转行
ctrl+alt+F12      跳转至当前文件在磁盘上的位置
alt+down          查看下一个方法
alt+up            查看上一个方法
ctrl+alt+l        重新格式化代码
ctrl+shift+down   statement向下移动
ctrl+shift+up     statement向上移动
alt+shift+down    line向下移动
alt+shift+up      line向上移动
ctrl+/            行注释
ctrl+shift+/      块注释

ctrl+shift+n      打开工程中的文件
ctrl+b            跳到变量申明处
ctrl+[]           匹配 {}[]
ctrl+shift+]/[    选中块代码<table>....</table>
ctrl+x            剪切行
ctrl+shift+v      复制多个文本
alt+left/right    标签切换
ctrl+p            显示默认参数

Ctrl + Alt + L    格式化代码
alt + '7'         显示当前的函数结构
ctrl + '.'        折叠选中的代码的代码
ctrl + '-/+'      可以折叠项目中的任何代码块,包括htm中的任意nodetype=3的元素,function,或对象直接量等等。它不是选中折叠,而是自动识别折叠
ctrl + F12        可以显示当前文件的结构

ctrl+shift+回车  补全句末分号

api 密钥

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

fastadmin 一键crud

//生成config_provinces表的CRUD且控制器生成在二级目录下
php think crud -t config_provinces -u 1 -c website/places
//删除fa_test表生成的二级目录的CRUD
php think crud -t config_provinces -c website/places -d 1

php think crud --table=fa_config_provinces --controller=website/places --headingfilterfield=examination_type --headingfilterfield=subject_mode -u 1

计划任务 crontab -l 列表

crontab -e 修改

svn 修改文件后默认不显示在提交列表中

ignore-on-commit

将redis加入服务中 进入redis目录,执行

redis-server.exe --service-install redis.windows.conf --loglevel verbose

SVN 报错 sqlite[S11]: database disk image is malformed的解决办法

下载后把sqlite3拷贝到出问题的项目目录,运行如下命令就可以了。
sqlite3 .svn/wc.db “pragma integrity_check”
sqlite3 .svn/wc.db “reindex nodes”
sqlite3 .svn/wc.db “reindex pristine”

Windows 计划任务设置

Windows+R调出运行窗口,输入taskschd.msc。

windows下cmd 命令行使用svn 乱码

1、查看环境变量中是否有APR_ICONV_PATH
2、如果有此变量,查看对应的变量路径是否存在,如果存在cmd窗口执行chcp 65001 窗口编码改变为utf-8可以解决,如果要转变回GBK只要chcp 936即可
3、如果没有此变量说明可能根本没有APR,需要到apache下载,地址:http://apr.apache.org,下载后解压缩,设置APR_ICONV_PATH=解压缩后的目录iconv

linux Windows 文件空格报错 下载 dos2unix

sudo yum install dos2unix

dos2unix linux_svndump_v2.sh (脚本名)

svn 备份文件还原过程

下面是还原过程的详细步骤:

创建一个新的空SVN库。命令如下:
svnadmin create /path/to/new_repo
其中,/path/to/new_repo是新库的路径,可以根据需要自行更改。

将备份文件导入到新库中。命令如下:
svnadmin load /path/to/new_repo < /path/to/backup_file
其中,/path/to/new_repo是新库的路径,/path/to/backup_file是备份文件的路径,这两个路径可以根据实际情况自行更改。

检查还原结果。可以使用svn命令查看新库的内容,命令如下:
svn list file:///path/to/new_repo
其中,/path/to/new_repo是新库的路径。如果新库与原库内容一致,则还原成功。

php redis 扩展

下载
wget https://github.com/phpredis/phpredis/archive/5.3.7.tar.gz
解压安装包
tar -zxvf 4.3.0.tar.gz 
进入安装目录
输入 phpize
当前版本的php-config 可以查找一下 find / -name php-config
./configure --with-php-config=/www/server/php/74/bin/php-config
make && make install  (也可单独make)

linux 安装包压缩命令

1.解压命令
tar -xvf filename.tar
tar -zxvf filename.tar.gz
tar -zxvf filename.tgz
tar -jxvf filename.tar.bz2
tar -xZvf filename.tar.Z
unrar e filename.rar # 解压到当前目录
unrar x filename.rar /path/to/extract 
unzip filename.zip -d filepath
tar.xz文件解压:先xz -d xxx.tar.xz到tar,然后tar xvf xxx.tar
2.压缩命令
tar -zcvf filename.tar.gz filename
tar -zcvf filename.tgz filename
tar -jcvf filename.tar.bz2 filename
zip filename.zip filename
zip -r location.zip location
gzip -d filename.gz filename
rar -a filename.rar filename

linux 安装php mongdb扩展

扩展https://pecl.php.net/package/mongodb
wget https://pecl.php.net/get/mongodb-1.8.0.tgz

解压扩展包

Linux下的tar压缩解压缩命令详解
tar zxf mongodb-1.8.0.tgz

安装扩展

# 进入解压好的压缩包
cd mongodb-1.8.0/

# 运行 phpize 后,就会在当前目录生成 configure 文件
/opt/remi/php74/root/usr/bin/phpize 

# 使用./configure命令进行安装配置
# --with-php-config这个参数是告诉配置脚本php-config这个程序的路径
./configure --with-php-config=/opt/remi/php74/root/usr/bin/php-config

# 编译并安装
make && make install

php.ini 添加扩展

# 从根目录查找 php.ini
find / -name php.ini

/etc/opt/remi/php74/php.ini

线上svn不同步有冲突时

希望恢复一整个目录的文件,可以使用--depth=infinity选项

svn revert --depth=infinity 

svn co svn://139.199.9.187/ihuadoo.com/ /home/wwwroot/ihuadoo.com/ --username szw --password 1001

npm linux 在Windows 上是外部命令时

NODE_ENV' is not recognized as an internal or external command,
operable program or batch file

npm install -g win-node-env

从start指令中我们可以发现我们用export NODE_ENV=development来定义开发环境的环境变量,由于采用的是mac电脑,所以可以用export来定义一个node环境变量. 但是在和朋友合作开发项目时发现执行yarn start后会报错, 后面看错误信息才发现window下不识别export, 后面发现window定义环境变量可以用set, 所以对于window用户, 如果你使用了以上方法设置NODE_ENV, 可以采用如下方式:

"scripts": {
   "start": "set NODE_ENV=development && nodemon -w src --exec \"babel-node src\""
 }

npm install

重试安装命令,并添加 --force 或 --legacy-peer-deps 参数,强制接受错误的依赖解析方式。例如:npm install --force。

虚拟机无法连接网络

cd /etc/sysconfig/network-scripts
进入network-sctipts   输入 vi ifcfg-ens33
若最后一行ONBOOT=no 则把no修改为yes。
按Esc退出插入模式。
在root用户/下输入yum install net-tools

VMware vmtools

安装包链接 http://softwareupdate.vmware.com/cds/vmw-desktop/ws/

php tp框架

 db插入时字段不存在过滤 :strict        model 插入字段过滤 过滤非数据表字段 :allowField(true)

curl参数丢失

在参数拼接符 & 前面加反斜杠 \
curl https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential\&appid=xxx\&secret=xx

lnmp重新启动php

lnmp php-fpm reload  

workman 禁用函数 stream_socket_erver()报错

找到php.ini文件,查找disable_functions 这个一项中是否禁用了stream_socket_server()这个函数

以debug(调试)方式启动

php start.php start

以daemon(守护进程)方式启动php start.php start -d

、以debug方式启动,终端关闭后workerman会随之关闭并退出。

4、以daemon方式启动,终端关闭后workerman继续后台正常运行。

thinkPHP 控制器请求方法延迟生效解决办法

找到php.ini下的opchche拓展:

opcache.enable = 1

python

在CMD中输入命令“pip freeze”,查看已安装的Python包和模块。

修复pip

python -m ensurepip
python -m pip install --upgrade pip 

cmd 无法识别pip

添加环境变量python 安装路径/Scripts

github 国内访问过慢解决问题

修改本地host文件,增加配置内容,绕过域名解析,达到加速的目的。

访问链接:https://raw.hellogithub.com/hosts(ps:这链接定时更新),获取对应的host配置。

打开c盘,按照这个路径C:\Windows\System32\drivers\etc\hosts找到hosts文件

查看fastadmin tp 版本

ihuadoo.com/thinkphp/base.php

解决方法

1. 删除原有服务
以管理员方式打开命令提示符窗口,执行以下命令:

sc delete MongoDB
复制
2. 重新安装服务
在MongoDB安装目录:D:\Program Files\MongoDB\Server\5.0下的bin目录里,找到mongod.exe和mongo.cfg文件,如下图。

2.png
注意:如果版本不同,其配置文件可能位于与bin目录同级的conf目录下的mongod.conf,或者位于bin目录下的mongod.cfg;总之以conf,或者cfg后缀结尾的就是配置文件。

在此目录中,以管理员方式打开命令提示符窗口,执行以下命令:

mongod --install -f "D:\Program Files\MongoDB\Server\5.0\bin\mongod.cfg"
复制
3. 启动MongoDB服务
打开系统服务,操作步骤:右键此电脑 > 管理 > 服务和应用程序 > 服    务,如图

Nginx防盗链方法

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|mp3|wav|zip|rar)$ {
    valid_referers none blocked test.cn *.test.cn;
    if ($invalid_referer){
        return 403;
    }
    expires 30d;
}

启动SVN svnserve -d -r /www/svn/tata

查看SVN进程

ps -ef|grep svn|grep -v grep

检测SVN 端口

netstat -ln |grep 3690

停止重启SVN

另外提供关闭svn的命令:killall svnserve

开启svn的命令:

svnserve -d -r /home/svn/tata

解决方法

1. 删除原有服务
以管理员方式打开命令提示符窗口,执行以下命令:
sc delete MongoDB 
2. 重新安装服务
在MongoDB安装目录:D:\Program Files\MongoDB\Server\5.0下的bin目录里,找到mongod.exe和mongo.cfg文件,如下图。
3. 注意:如果版本不同,其配置文件可能位于与bin目录同级的conf目录下的mongod.conf,或者位于bin目录下的mongod.cfg;总之以conf,或者cfg后缀结尾的就是配置文件。

4. 在此目录中,以管理员方式打开命令提示符窗口,执行以下命令:

mongod --install -f "D:\Program Files\MongoDB\Server\5.0\bin\mongod.cfg"

5. 启动MongoDB服务打开系统服务,操作步骤:右键此电脑 > 管理 > 服务和应用程序 > 服务,

多种状态排序时的sql语句

$data = $this->field('激活时间, 是否激活, 卡号')
        ->orderRaw('CASE WHEN 激活时间 IS NULL THEN 1 ELSE 0 END, 激活时间 DESC, 是否激活 DESC')
        ->select();

查看电脑显卡配置

1. 首先按下win+r的快捷键打开运行窗口,,然后在运行里输入dxdiag,再点击回车;
2. 电脑打开DX诊断工具后,它会自动开始检查系统硬件的信息,我们等待一会就好;
3. 点击显示之后就可以看到集成显卡的型号了,如下图信息;

Centos漏洞:

查看是否关闭

1. cat /proc/sys/user/max_user_namespaces

如果为0,则代表关闭

不为0,执行下面命令关闭:

临时配置(重启后失效)

2. echo 0 > /proc/sys/user/max_user_namespaces

永久配置

3. grubby --args="user_namespace.enable=0" --update-kernel="$(grubby --default-kernel)"

4. echo "user.max_user_namespaces=0" >> /etc/sysctl.conf

5. reboot

sql执行信息

查看sql索引信息
EXPLAIN 
#查看是否支持show profile工具
select @@have_profiling
#查看show profile是否开启
SHOW VARIABLES like 'profiling'

名称 名称解释

id

SQL执行的顺序的标识,SQL从大到小的执行,即降序执行

select_type

1.SIMPLE 简单SELECT(不使用UNION或子查询等)
2.PRIMARY 最外层的selectUNION : UNION中的第二个或后面的SELECT语句.
例如DEPENDENT UNION UNION中的第二个或后面的SELECT语句,取决于外面的
查询UNION RESULT UNION的结果。
3.SUBQUERY 子查询中的第一个SELECT.DEPENDENT SUBQUERY 
子查询中的第一个SELECT,取决于外面的查询DERIVED : 派生表的SELECT(FROM子句的子查询)

table

table : 显示这一行的数据是关于哪张表的.有时不是真实的表名字,
看到的是derived x(x是个数字,是第几步执行的结果)

type

这列很重要,显示了连接使用了哪种类别,有无使用索引.
从最好到最差的连接类型为
const、eq_reg、ref、range、indexhe和ALL

possible_keys

possible_keys列指出MySQL能使用哪个索引在该表中找到行。
注意,该列完全独立于EXPLAIN输出所示的表的次序。这意味着在
possible_keys中的某些键实际上不能按生成的表次序使用。
如果该列是NULL,则没有相关的索引。在这种情况下,
可以通过检查WHERE子句看是否它引用某些列或适合索引的列来提高你的查询性能。
如果是这样,创造一个适当的索引并且再次用EXPLAIN检查查询

key

key列显示MySQL实际决定使用的键(索引)。如果没有选择索引,
键是NULL。要想强制MySQL使用或忽视possible_keys列中的索引,
在查询中使用FORCE INDEX、USE INDEX或者IGNORE INDEX。

key_len

key_len列显示MySQL决定使用的键长度。如果键是NULL ,则长度为NULL。
使用的索引的长度。在不损失精确性的情况下,长度越短越好

ref

ref列显示使用哪个列或常数与key一起从表中选择行。

rows

rows列显示MySQL认为它执行查询时必须检查的行数。

Extra

该列包含MySQL解决查询的详细信息,下面详细.
(1).Distinct
一旦MYSQL找到了与行相联合匹配的行,就不再搜索了
(2).Not exists
MYSQL优化了LEFT JOIN,一旦它找到了匹配LEFT JOIN标准的行,就不再搜索了
(3).Range checked for each
Record(index map:#)
没有找到理想的索引,因此对于从前面表中来的每一个行组合,MYSQL检查使用哪个索引,并用它来从表中返回行。这是使用索引的最慢的连接之一
(4).Using filesort
看到这个的时候,查询就需要优化了。MYSQL需要进行额外的步骤来发现如何对返回的行排序。它根据连接类型以及存储排序键值和匹配条件的全部行的行指针来排序全部行
(5).Using index
列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的,这发生在对表的全部的请求列都是同一个索引的部分的时候
(6).Using temporary
看到这个的时候,查询需要优化了。这里,MYSQL需要创建一个临时表来存储结果,这通常发生在对不同的列集进行ORDER BY上,而不是GROUP BY上
(7).Using where
使用了WHERE从句来限制哪些行将与下一张表匹配或者是返回给用户。如果不想返回表中的全部行,并且连接类型ALL或index,这就会发生,或者是查询有问题

svn 下拉代码

svn co svn://139.199.9.187/ihuadoo.com

svn 更新代码

svn update:
执行 svn resolve 命令来解决冲突。你可以使用 --accept 参数来指定解决冲突的方式。常用的选项有:

--accept=mine-ful:保留本地版本,忽略服务器上的更改。
--accept=theirs-full:使用服务器上的最新版本,忽略本地的更改。
--accept=mine-conflict:使用基础版本,即合并基础版本和服务器上的更改。
--accept=theirs-conflict:手动编辑文件以解决冲突。

svn resolve --accept working  路径 
移除冲突状态

tp5路由函数

$request = Request::instance();
// 获取当前域名
echo 'domain: ' . $request->domain() . '<br/>';
// 获取当前入口文件
echo 'file: ' . $request->baseFile() . '<br/>';
// 获取当前URL地址 不含域名
echo 'url: ' . $request->url() . '<br/>';
// 获取包含域名的完整URL地址
echo 'url with domain: ' . $request->url(true) . '<br/>';
// 获取当前URL地址 不含QUERY_STRING
echo 'url without query: ' . $request->baseUrl() . '<br/>';
// 获取URL访问的ROOT地址
echo 'root:' . $request->root() . '<br/>';
// 获取URL访问的ROOT地址
echo 'root with domain: ' . $request->root(true) . '<br/>';
// 获取URL地址中的PATH_INFO信息
echo 'pathinfo: ' . $request->pathinfo() . '<br/>';
// 获取URL地址中的PATH_INFO信息 不含后缀
echo 'pathinfo: ' . $request->path() . '<br/>';
// 获取URL地址中的后缀信息
echo 'ext: ' . $request->ext() . '<br/>';

linux npm 下载

yum install npm  (下载的版本过低)

npm 升级到最新版本

npm install -g npm(直接更新npm node版本过低会不兼容)所以先升级node

nodejs 最新版本

1 先安装npm: yum install -y npm
2 使用 npm 来安装 Node.js 版本管理工具 n,如果你没有安装 n,你可以使用以下命令安装: sudo npm install -g n
3 使用 n 工具来安装最新版本的 Node.js: n latest

安装完后"node --version" 显示的是旧版本,可以尝试在当前shell中运行以下命令来重置位置哈希值:

hash -r

源码网站资源

1.51源码:http://www.51aspx.com/
2.源码之家:http://www.codejia.com/
3.源码网:http://www.codepub.com/
4.虾客源码:http://www.xkxz.com/
5.源码开发网:http://www.codedn.com/
6.洪越源代码:http://www.softhy.net/
7.锋网源码:http://www.fwvv.net/
8.代码爱好者:http://www.codefans.com/
9.爱源码:http://www.aiyuanma.com/
10.酷源码:http://www.kyuanma.com/
11.搜源码:http://www.soucode.com/
12.拉基源码:http://www.lajicode.com/
13.源软中国:http://www.600it.com/
14.源码天空:http://www.codesky.net/
15.源码吧:http://www.asp88.net/
16.绿色源码:http://code888.cn/
17.9号源码中心:http://www.9code.com/
18.网馨源码:http://www.asppsa.com/
20.源码天下:http://www.pccode.net/
21.需要源码:http://www.needcode.cn/(感觉不错!)
22.华夏源码:http://www.haocpu.com/
23.天新网:http://codes.21tx.com/
24.源码网:http://www.yuanma5.com/(感觉不错!)
25.无忧源码:http://www.5uym.com/(有演示地址)
26.中国下载站:http://www.cnz.cc/
27.资源吧:http://www.ziyuan8.com/
28.启明星源码:http://www.codewww.com/
29.我要源码:http://www.xia51.com/
30.清秋源码:http://www.asp678.com/
31.迪思分享:https://www.dsary.com/ (源码不错)
32.代码秀:http://www.39g.com/
33.中文天下源码站:http://www.zwsky.net/
34.世纪源码:http://www.sjcodes.com/
35.源码300:http://www.ym300.com/
36.问友源码:http://www.winu.cn/
37.梦想源码:http://gjj.cc/ZongHe/ZiXun/52086.htm
38.源码联盟:http://www.aspsun.com
39.168源码:http://www.168code.com/
40.源码大全:http://www.2007boys.cn/
41.易搜源码:http://www.yscode.com/
42.下吧源码:http://www.xia8.com/
43.早雪网:http://www.zaoxue.com
44.我要下源码:http://www.51xia.net/
45.54源码:http://www.54code.com/
46.久久源码:http://www.99code.net
47.中国web开发者网络:http://www.webasp.net/
48.源码之家:http://www.mycodes.net/
49.新E家源码:http://www.92e.net/
50.中国源码下载站:http://www.downcode.com/
51.第四源码:http://www.asp4.cn/
52.asp1源码:http://www.asp1.com.cn/
53.华南源码:http://www.fjcode.cn
54.源码分享:http://www.codeftp.cn/
55.好源码:http://www.haocodes.com/
56.算法源码吧:http://www.sfcode.cn/(有意思!)
57.龙都源码:http://www.londu.net/
58.精华源码:http://www.jhdown.com/
59.逆流源码:http://www.niliu.cn/
60.中国源码教程网:http://www.kuziyuan.com/
61.源代码:http://www.fgfg.net/
62.源码中国:http://www.cn700.com/
63.怀化源码网:http://www.xp90.com/sort/242_1.html
64.中国源码之家:http://www.chcode.net/
65.侠载源码:http://www.xiacode.com/

优秀网站

1.PDF编辑tools.pdf24.org/zh/
2.翻译:deepl.com/translator
3.图片无损放大waifu2x.udp.jp
4.AI写作ibiling.cn
5.工具合集tools.miku.ac
6.地图标记lab.magiconch.com/china
7.在线作图processon.com/
8.语音合成yuanshenai.com/
9.病毒检测virustotal.com/
10.工具合集nav.qinight.com/
11.第三方P站浏览pixivic.com/
12.以图搜图saucenao.com/
13.菜鸟教程runoob.com/
14.WEB开发developer.mozilla.org/z
15.技能学习百科全书zh.wikihow.com/
16.腾讯软件大全pc.qq.com/
17.表情包dbbqb.com/
18.果汁工具大全guozhivip.com/tool/
19.图片转文字web.baimiaoapp.com/
20.追番yuc.wiki/
21.听歌识曲midomi.com/
22.快搜search.chongbuluo.com/
scholar.chongbuluo.com/
giffox.com/
23.影视推荐mvcat.com/
24.英语真题在线zhenti.burningvocabulary.com
25.在线图床imgse.com/
26.图片处理imagestool.com/zh_CN/in
27.电子书阅读器reader.960960.xyz/
28.搜图王者yandex.com/images/
29.学吧导航xue8nav.com/
30.图片风格转换lab.magiconch.com/one-l
31.插件chrome.zzzmh.cn/
32.切图工具v.magiconch.com/sns-ima
33.动漫截图识别trace.moe/
34.青柠起始页limestart.cn/intro
35.在线格式转换aconvert.com/cn/
36.找电子书giffox.com/
37.俄罗斯方块
38.网盘搜索
39.自动抠图bgsub.cn/
40.全球全景zhijianshang.com/
41.在线抠图picwish.cn/
42.今日热榜tophub.today/
43.假装系统升级界面fakeupdate.net/
44.文本转语音azure.microsoft.com/zh-
45.反向词典wantwords.net/
46.壁纸wallpaperhub.app/
47.壁纸wallhaven.cc/
48.无文字电影壁纸moviemania.io/phone
49.极简壁纸bz.zzzmh.cn/
50.故宫壁纸dpm.org.cn/lights/royal
51.看熊猫ipanda.com/
52.数字图书馆zh.annas-archive.org/
53.翻页时钟flipclocker.com/
54.古籍图书馆new.shuge.org/
55.软件替代品alternativeto.net/
56.音乐雷达aha-music.com/
57.二维码生成classic.qrbtf.com/
58.头像生成avatar.0skyu.cn/
59.简历下载jianlixiazai.cn/
60.中国百科全书zgbk.com/
61.翻译multitranslate.xyz/User
62.衣服尺码matools.com/size
63.故宫文物库digicol.dpm.org.cn/
64.B站封面提取bilibiliq.com/
65.优品PPT ypppt.com/

HTTP Debugger Pro中文便携版安装教程

1、安装正版
2、运行注册机点“Gen”再点“Activate”再点“Cancel”
3、复制“HTTPDebuggerUI_zh.exe”到安装目录
4、运行一次“HTTPDebuggerUI_zh.exe”
5、再次运行注册机点“Gen”再点“Activate”再点“Cancel”
6、以后都运行“HTTPDebuggerUI_zh.exe”

HTTP状态码列表含义

100 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。
101 服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。   只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的HTTP 版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。
102 由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。
200 请求已成功,请求所希望的响应头或数据体将随此响应返回。
201 请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随Location 头信息返回。假如需要的资源无法及时建立的话,应当返回 '202 Accepted'。
202 服务器已接受请求,但尚未处理。正如它可能被拒绝一样,最终该请求可能会也可能不会被执行。在异步操作的场合下,没有比发送这个状态码更方便的做法了。   返回202状态码的响应的目的是允许服务器接受其他过程的请求(例如某个每天只执行一次的基于批处理的操作),而不必让客户端一直保持与服务器的连接直到批处理操作全部完成。在接受请求处理并返回202状态码的响应应当在返回的实体中包含一些指示处理当前状态的信息,以及指向处理状态监视器或状态预测的指针,以便用户能够估计操作是否已经完成。
203 服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝。当前的信息可能是原始版本的子集或者超集。例如,包含资源的元数据可能导致原始服务器知道元信息的超级。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 OK的情况下才是合适的。
204 服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息。响应可能通过实体头部的形式,返回新的或更新后的元信息。如果存在这些头部信息,则应当与所请求的变量相呼应。   如果客户端是浏览器的话,那么用户浏览器应保留发送了该请求的页面,而不产生任何文档视图上的变化,即使按照规范新的或更新后的元信息应当被应用到用户浏览器活动视图中的文档。   由于204响应被禁止包含任何消息体,因此它始终以消息头后的第一个空行结尾。
205 服务器成功处理了请求,且没有返回任何内容。但是与204响应不同,返回此状态码的响应要求请求者重置文档视图。该响应主要是被用于接受用户输入后,立即重置表单,以便用户能够轻松地开始另一次输入。   与204响应一样,该响应也被禁止包含任何消息体,且以消息头后的第一个空行结束。
206 服务器已经成功处理了部分 GET 请求。类似于 FlashGet 或者迅雷这类的 HTTP 下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。   该请求必须包含 Range 头信息来指示客户端希望得到的内容范围,并且可能包含 If-Range 来作为请求条件。   响应必须包含如下的头部域:   Content-Range 用以指示本次响应中返回的内容的范围;如果是 Content-Type 为 multipart/byteranges 的多段下载,则每一 multipart 段中都应包含 Content-Range 域用以指示本段的内容范围。假如响应中包含 Content-Length,那么它的数值必须匹配它返回的内容范围的真实字节数。   Date   ETag 和/或 Content-Location,假如同样的请求本应该返回200响应。   Expires, Cache-Control,和/或 Vary,假如其值可能与之前相同变量的其他响应对应的值不同的话。   假如本响应请求使用了 If-Range 强缓存验证,那么本次响应不应该包含其他实体头;假如本响应的请求使用了 If-Range 弱缓存验证,那么本次响应禁止包含其他实体头;这避免了缓存的实体内容和更新了的实体头信息之间的不一致。否则,本响应就应当包含所有本应该返回200响应中应当返回的所有实体头部域。   假如 ETag 或 Last-Modified 头部不能精确匹配的话,则客户端缓存应禁止将206响应返回的内容与之前任何缓存过的内容组合在一起。   任何不支持 Range 以及 Content-Range 头的缓存都禁止缓存206响应返回的内容。
207 由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。
300 被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息。用户或浏览器能够自行选择一个首选的地址进行重定向。   除非这是一个 HEAD 请求,否则该响应应当包括一个资源特性及地址的列表的实体,以便用户或浏览器从中选择最合适的重定向地址。这个实体的格式由 Content-Type 定义的格式所决定。浏览器可能根据响应的格式以及浏览器自身能力,自动作出最合适的选择。当然,RFC 2616规范并没有规定这样的自动选择该如何进行。   如果服务器本身已经有了首选的回馈选择,那么在 Location 中应当指明这个回馈的 URI;浏览器可能会将这个 Location 值作为自动重定向的地址。此外,除非额外指定,否则这个响应也是可缓存的。
301 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。   新的永久性的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。   如果这不是一个 GET 或者 HEAD 请求,因此浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。   注意:对于某些使用 HTTP/1.0 协议的浏览器,当它们发送的 POST 请求得到了一个301响应的话,接下来的重定向请求将会变成 GET 方式。
302 请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。   新的临时性的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。   如果这不是一个 GET 或者 HEAD 请求,那么浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。   注意:虽然RFC 1945和RFC 2068规范不允许客户端在重定向时改变请求的方法,但是很多现存的浏览器将302响应视作为303响应,并且使用 GET 方式访问在 Location 中规定的 URI,而无视原先请求的方法。状态码303和307被添加了进来,用以明确服务器期待客户端进行何种反应。
303 对应当前请求的响应可以在另一个 URI 上被找到,而且客户端应当采用 GET 的方式访问那个资源。这个方法的存在主要是为了允许由脚本激活的POST请求输出重定向到一个新的资源。这个新的 URI 不是原始资源的替代引用。同时,303响应禁止被缓存。当然,第二个请求(重定向)可能被缓存。   新的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。   注意:许多 HTTP/1.1 版以前的 浏览器不能正确理解303状态。如果需要考虑与这些浏览器之间的互动,302状态码应该可以胜任,因为大多数的浏览器处理302响应时的方式恰恰就是上述规范要求客户端处理303响应时应当做的。
304 如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。   该响应必须包含以下的头信息:   Date,除非这个服务器没有时钟。假如没有时钟的服务器也遵守这些规则,那么代理服务器以及客户端可以自行将 Date 字段添加到接收到的响应头中去(正如RFC 2068中规定的一样),缓存机制将会正常工作。   ETag 和/或 Content-Location,假如同样的请求本应返回200响应。   Expires, Cache-Control,和/或Vary,假如其值可能与之前相同变量的其他响应对应的值不同的话。   假如本响应请求使用了强缓存验证,那么本次响应不应该包含其他实体头;否则(例如,某个带条件的 GET 请求使用了弱缓存验证),本次响应禁止包含其他实体头;这避免了缓存了的实体内容和更新了的实体头信息之间的不一致。   假如某个304响应指明了当前某个实体没有缓存,那么缓存系统必须忽视这个响应,并且重复发送不包含限制条件的请求。   假如接收到一个要求更新某个缓存条目的304响应,那么缓存系统必须更新整个条目以反映所有在响应中被更新的字段的值。
305 被请求的资源必须通过指定的代理才能被访问。Location 域中将给出指定的代理所在的 URI 信息,接收者需要重复发送一个单独的请求,通过这个代理才能访问相应资源。只有原始服务器才能建立305响应。   注意:RFC 2068中没有明确305响应是为了重定向一个单独的请求,而且只能被原始服务器建立。忽视这些限制可能导致严重的安全后果。
306 在最新版的规范中,306状态码已经不再被使用。
307 请求的资源现在临时从不同的URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。   新的临时性的URI 应当在响应的 Location 域中返回。除非这是一个HEAD 请求,否则响应的实体中应当包含指向新的URI 的超链接及简短说明。因为部分浏览器不能识别307响应,因此需要添加上述必要信息以便用户能够理解并向新的 URI 发出访问请求。   如果这不是一个GET 或者 HEAD 请求,那么浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。
400 1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。   2、请求参数有误。
401 当前请求需要用户验证。该响应必须包含一个适用于被请求资源的 WWW-Authenticate 信息头用以询问用户信息。客户端可以重复提交一个包含恰当的 Authorization 头信息的请求。如果当前请求已经包含了 Authorization 证书,那么401响应代表着服务器验证已经拒绝了那些证书。如果401响应包含了与前一个响应相同的身份验证询问,且浏览器已经至少尝试了一次验证,那么浏览器应当向用户展示响应中包含的实体信息,因为这个实体信息中可能包含了相关诊断信息。参见RFC 2617。
402 该状态码是为了将来可能的需求而预留的。
403 服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。如果这不是一个 HEAD 请求,而且服务器希望能够讲清楚为何请求不能被执行,那么就应该在实体内描述拒绝的原因。当然服务器也可以返回一个404响应,假如它不希望让客户端获得任何信息。
404 请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。
405 请求行中指定的请求方法不能被用于请求相应的资源。该响应必须返回一个Allow 头信息用以表示出当前资源能够接受的请求方法的列表。   鉴于 PUT,DELETE 方法会对服务器上的资源进行写操作,因而绝大部分的网页服务器都不支持或者在默认配置下不允许上述请求方法,对于此类请求均会返回405错误。
406 请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体。   除非这是一个 HEAD 请求,否则该响应就应当返回一个包含可以让用户或者浏览器从中选择最合适的实体特性以及地址列表的实体。实体的格式由 Content-Type 头中定义的媒体类型决定。浏览器可以根据格式及自身能力自行作出最佳选择。但是,规范中并没有定义任何作出此类自动选择的标准。
407  与401响应类似,只不过客户端必须在代理服务器上进行身份验证。代理服务器必须返回一个 Proxy-Authenticate 用以进行身份询问。客户端可以返回一个 Proxy-Authorization 信息头用以验证。参见RFC 2617。
408 请求超时。客户端没有在服务器预备等待的时间内完成一个请求的发送。客户端可以随时再次提交这一请求而无需进行任何更改。
409 由于和被请求的资源的当前状态之间存在冲突,请求无法完成。这个代码只允许用在这样的情况下才能被使用:用户被认为能够解决冲突,并且会重新提交新的请求。该响应应当包含足够的信息以便用户发现冲突的源头。   冲突通常发生于对 PUT 请求的处理中。例如,在采用版本检查的环境下,某次 PUT 提交的对特定资源的修改请求所附带的版本信息与之前的某个(第三方)请求向冲突,那么此时服务器就应该返回一个409错误,告知用户请求无法完成。此时,响应实体中很可能会包含两个冲突版本之间的差异比较,以便用户重新提交归并以后的新版本。
410 被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址。这样的状况应当被认为是永久性的。如果可能,拥有链接编辑功能的客户端应当在获得用户许可后删除所有指向这个地址的引用。如果服务器不知道或者无法确定这个状况是否是永久的,那么就应该使用404状态码。除非额外说明,否则这个响应是可缓存的。   410响应的目的主要是帮助网站管理员维护网站,通知用户该资源已经不再可用,并且服务器拥有者希望所有指向这个资源的远端连接也被删除。这类事件在限时、增值服务中很普遍。同样,410响应也被用于通知客户端在当前服务器站点上,原本属于某个个人的资源已经不再可用。当然,是否需要把所有永久不可用的资源标记为'410 Gone',以及是否需要保持此标记多长时间,完全取决于服务器拥有者。
411 服务器拒绝在没有定义 Content-Length 头的情况下接受请求。在添加了表明请求消息体长度的有效 Content-Length 头之后,客户端可以再次提交该请求。
412 服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。这个状态码允许客户端在获取资源时在请求的元信息(请求头字段数据)中设置先决条件,以此避免该请求方法被应用到其希望的内容以外的资源上。
413 服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。此种情况下,服务器可以关闭连接以免客户端继续发送此请求。   如果这个状况是临时的,服务器应当返回一个 Retry-After 的响应头,以告知客户端可以在多少时间以后重新尝试。
414 请求的URI 长度超过了服务器能够解释的长度,因此服务器拒绝对该请求提供服务。这比较少见,通常的情况包括:   本应使用POST方法的表单提交变成了GET方法,导致查询字符串(Query String)过长。   重定向URI “黑洞”,例如每次重定向把旧的 URI 作为新的 URI 的一部分,导致在若干次重定向后 URI 超长。   客户端正在尝试利用某些服务器中存在的安全漏洞攻击服务器。这类服务器使用固定长度的缓冲读取或操作请求的 URI,当 GET 后的参数超过某个数值后,可能会产生缓冲区溢出,导致任意代码被执行[1]。没有此类漏洞的服务器,应当返回414状态码。
415 对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝。
416 如果请求中包含了 Range 请求头,并且 Range 中指定的任何数据范围都与当前资源的可用范围不重合,同时请求中又没有定义 If-Range 请求头,那么服务器就应当返回416状态码。   假如 Range 使用的是字节范围,那么这种情况就是指请求指定的所有数据范围的首字节位置都超过了当前资源的长度。服务器也应当在返回416状态码的同时,包含一个 Content-Range 实体头,用以指明当前资源的长度。这个响应也被禁止使用 multipart/byteranges 作为其 Content-Type。
417 在请求头 Expect 中指定的预期内容无法被服务器满足,或者这个服务器是一个代理服务器,它有明显的证据证明在当前路由的下一个节点上,Expect 的内容无法被满足。
421 从当前客户端所在的IP地址到服务器的连接数超过了服务器许可的最大范围。通常,这里的IP地址指的是从服务器上看到的客户端地址(比如用户的网关或者代理服务器地址)。在这种情况下,连接数的计算可能涉及到不止一个终端用户。
422 从当前客户端所在的IP地址到服务器的连接数超过了服务器许可的最大范围。通常,这里的IP地址指的是从服务器上看到的客户端地址(比如用户的网关或者代理服务器地址)。在这种情况下,连接数的计算可能涉及到不止一个终端用户。
422 请求格式正确,但是由于含有语义错误,无法响应。(RFC 4918 WebDAV)423 Locked   当前资源被锁定。(RFC 4918 WebDAV)
424 由于之前的某个请求发生的错误,导致当前请求失败,例如 PROPPATCH。(RFC 4918 WebDAV)
425 在WebDav Advanced Collections 草案中定义,但是未出现在《WebDAV 顺序集协议》(RFC 3658)中。
426 客户端应当切换到TLS/1.0。(RFC 2817)
449 由微软扩展,代表请求应当在执行完适当的操作后进行重试。
500 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。
501 服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。
502 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
503 由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个 Retry-After 头用以标明这个延迟时间。如果没有给出这个 Retry-After 信息,那么客户端应当以处理500响应的方式处理它。   注意:503状态码的存在并不意味着服务器在过载的时候必须使用它。某些服务器只不过是希望拒绝客户端的连接。
504 作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。   注意:某些代理服务器在DNS查询超时时会返回400或者500错误
505 服务器不支持,或者拒绝支持在请求中使用的 HTTP 版本。这暗示着服务器不能或不愿使用与客户端相同的版本。响应中应当包含一个描述了为何版本不被支持以及服务器支持哪些协议的实体。
506 由《透明内容协商协议》(RFC 2295)扩展,代表服务器存在内部配置错误:被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。
507 服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。WebDAV (RFC 4918)
509 服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。
510 获取资源所需要的策略并没有没满足。(RFC 2774)

幻兽帕鲁linux 开服文档

1. 下载相关依赖 yum install wget screen nano libxcb glibc.i686
2. 添加用户:adduser steam
3. 设置steam用户密码: passwd steam
4. 切换用户:su -ls /bin/bash steam
5. cd /home/steam
6. 下载steamCMD:wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
7. 解压拉取的包: tar xf steamcmd_linux.tar.gz
8. 运行SteamCMD:./steamcmd.sh
9. 此时处于steamcmd命令行状态下,输入:force_install_dir /home/steam/PalServer
10. 继续输入login anonymous(匿名登录方式,如果登录失败,那就用自己的账户登录进行登录)
11. 安装幻兽帕鲁服务器端:app_update 2394010 validate,下载完成后,键入quit离开
12. cd进入PalServer文件夹 其中,DefaultPalwordSettings.ini只是服务器配置文件的默认设置,无论怎么修改都不对游戏服务器的参数产生影响。windows同理如果需要修改服务器参数,则需要修改Pal/Saved/Config/LinuxServer/PalWorldSettings.ini下的文件,在初始状态下,它并不存在,只有在启动完一次服务器之后,它才会生成。
13. cp so依赖,别问 问就是需要 mkdir -p ~/.steam/sdk64/ 复制依赖:cp linux64/steamclient.so ~/.steam/sdk64/ 
14. 然后可以首次运行服务器,生成基础配置文件 ./PalServer.sh 四个succeeded出来,按Ctrl+Z停止
15. 把默认配置模板复制到服务器配置 cp DefaultPalWorldSettings.ini Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
16. 进入配置文件进行配置 nano Pal/Saved/Config/LinuxServer/PalWorldSettings.ini 其中:ServerPlayerMaxNum 表示服务器最多玩家数量ServerName 表示服务器名 ServerPassword 表示服务器密码 PublicPort 默认8211,如果要启用其他端口请自行修改 PublicIP为服务器地址
17. 如果设置了服务器密码 只需要在启动参数内加入EpicApp=PalServer即可
18. 修改完配置后,回到根目录处输入命令:screen -S PalServer
19. 启动服务器 输入 ./PalServer.sh 开服 然后输入Ctrl+A+D将进程保存至后台运行
20. 关闭服务器 在根目录处输入命令:screen -ls 列出后台运行的服务
21. 找到相应的进程,输入screen -r XXXXXXXXXX,比如我这里是 24871.PalServer,就输入 screen -r  24871.PalServer,就可以重新回到面板里  按下Ctrl+C就可以关闭服务器
22. 在云服务器安全组里放行端口号,我用的是8211,所以就放行UDP8211,如果用其他的,直接在面板里添加放行就好,这里不多做赘述。

php开启报错信息

ini_set(‘display_errors’,1);
error_reporting(E_ALL);

部署buildadmin 踩坑

1.完整包和git clone 区别
# 设置Composer源和下载PHP依赖包,完整包不需要执行这两条命令,git包是需要的
composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/
composer install

2.项目运行时报500服务器内部错误 设置了**open_basedir**,文件操作限制 必须改成自己项目的目录路径
locate fastcgi.conf 文件中
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";  

# /home/wwwroot/ 即能跨目录访问的地方 ,我们的项目即是这个地址
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/";

3.\web 目录的 前端npm 运行不了 大概率是没有权限 删除node_modules 目录 重新npm install

4.根目录 执行 php run dev 命令时   php.ini  搜索disable_functions  禁用函数去除passthru
执行 \web 目录   npm run dev 时 删除掉其中的proc_open、proc_close、proc_get_status

linux 安装php扩展:xlswriter

进入官方扩展:https://pecl.php.net
查询自己php对应版本的扩展包
下载扩展
    wget https://pecl.php.net/get/xlswriter-1.5.5.tgz
解压扩展
    tar -zxvf xlswriter-1.5.5.tgz
进入目录
    cd xlswriter-1.5.5
查找对应php版本的phpize
    find / -name phpize
执行phpize创建configure
    /www/server/php/72/bin/phpize
查找php配置文件
    find / -name php-config
配置
    ./configure --with-php-config=/www/server/php/72/bin/php-config
编译
    make&&make install
修改php.ini 文件 编译成功会有文件路径
    extensio='xlswriter.so'

linu 安装php redis 扩展

下载 wget https://github.com/phpredis/phpredis/archive/6.0.2.tar.gz

解压tar -zxvf 6.0.2.tar.gz 

进入目录
cd phpredis-6.0.2

使用phpize解压 如果找不到当前php版本的phpize的位置 可以查找一下 find / -name phpize
1. /www/server/php/74/bin/phpize
2. 配置 如果找不到当前版本的php-config 可以查找一下 find / -name php-config
     ./configure --with-php-config=/www/server/php/74/bin/php-config
make
make install
或者直接 make&&make install
更改 php 对应版本 php.ini 文件里面添加
extension=redis.so

linux 安装 php calendar 扩展

1. 下载对应php版本的包 https://www.php.net/releases/ 
2. 解压下载包后进入ext 目录找到 calendar 目录 复制到linux进行编译
3. /usr/local/php/bin/phpize
4. /configure --with-php-config=/usr/local/php/bin/php-config --enable-calendar
5. make && make install
6. php.ini 加入extension=calendar.so

查看 node 多个 安装路径 which -a node

更新软链接至所需版本: 如果你想要让/usr/bin/node指向另一个版本的Node.js,可以使用以下命令更新软链接:
sudo ln -sf /path/to/your/desired/node /usr/bin/node

linux磁盘爆了解决方法

检查磁盘空间:使用df -h命令查看当前磁盘空间使用情况

du -sh * 查看当前目录下每一个的目录和文件的大小汇总

inux 历史命令下载到本地

history > history.txt

linux安装amqp 详细流程

设置错误信息

error_reporting(E_ALL);        
ini_set('display_errors', 1);

ThinkPHP 使用 withCount 关联统计报错 /thinkphp/library/think/model/relation/HasMany.php; 数据表是有别名的.然后在model里定义了hasMany关系.然后在查询的时候用withCount去做关联统计的时候.因为主表的表名自动做了别名处理.但是关联统计里却用的是完全表名.造成SQL查询错误

public function getRelationCountQuery(Closure $closure = null, string $aggregate = 'count', string $field = '*', string &$name = null): string
{
    if ($closure) {
        $closure($this->query, $name);
    }

    return $this->query->alias($aggregate . '_table')
        ->whereExp($aggregate . '_table.' . $this->foreignKey, '=' . $this->parent->getTable() . '.' . $this->localKey)
        ->fetchSql()
        ->$aggregate($field);
}

lnmp 设置404页面

在NGINX.conf 设置 fastcgi_intercept_errors on;

取消user表中root用户localhost连接的限制。

允许任何ip连接:update user set host = '%' where user ='root';

刷新权限:flush privileges;  
          • cd /home/wwwroot/pub2live.367app.com && git fetch origin && git reset --hard origin/master
          • /root/update_code.sh

buildadmin 后台报错没信息返回 ExceptionHandle.php 文件 convertExceptionToArray 方法中的 Server/Request Data 改成自己写的

 protected function changeToUtf8(array $data): array
{
    foreach ($data as $key => $value) {
        //mb_convert_encoding第一个参数只能接受array|string需要先转换否则float等类型会报错
        if (!is_array($value)&&!is_string($value)){
            $value = strval($value);
        }
        $data[$key] =  mb_convert_encoding($value, "UTF-8","ASCII,UTF-8,GBK");
    }

    return $data;
}

OllamaSetup.exe安装d盘

OllamaSetup.exe /DIR="D:\Ollama"    

Linux 安装磁盘监控工具

yum install ncdu    

window 查看占用端口的进程

netstat -ano | findstr :9001 
找到进程名称
tasklist | findstr <PID>
结束进程
taskkill -f -pid 进程号

git update-index --no-skip-worktree 是一个非常有用的 Git 命令,它可以告诉 Git 忽略对工作区中某个文件的更改。 这意味着即使你修改了本地文件,Git 也会假装这个文件没有被修改过

本地配置修改: 你可能有一些配置文件,需要在本地进行定制,但又不希望将这些修改提交到远程仓库,以免影响其他开发者或生产环境。 例如,数据库连接字符串、API 密钥等。

取消 skip-worktree 标志:

git update-index --no-skip-worktree <file>

检查哪些文件设置了 skip-worktree 标志:

git ls-files -v | grep ^S 
function test(){
     console.log("Hello world!");
}

git reset --hard origin/master 报错

git update-index --skip-worktree 确实会让 Git 忽略该文件的本地修改,但在 git reset --hard origin/master 这一步时,Git 还是会尝试强制重置所有文件,包括被 --skip-worktree 标记的文件,因此仍然可能遇到 Entry ... not uptodate 这样的错误。

git update-index --assume-unchanged app/controller/api/IndexController.php

--skip-worktree 适用于大仓库,它告诉 Git 仅在切换分支或 git pull 时不修改该文件,但在 git reset --hard 时仍然可能会影响。
--assume-unchanged 则会让 Git 彻底忽略该文件的变更,甚至 reset --hard 也不会动它。

如果需要恢复跟踪这个文件

git update-index --no-assume-unchanged app/controller/api/IndexController.php

查看当前标记了 --assume-unchanged 的文件

git ls-files -v | grep ^H

恢复文件追踪(如果是 skip-worktree)

git update-index --no-skip-worktree app/controller/api/IndexController.php

或者恢复 assume-unchanged 标记

git update-index --no-assume-unchanged app/controller/api/IndexController.php

添加标记

git update-index --skip-worktree app/controller/api/IndexController.php