- 【无标题】
飞羽殇情
服务器
failedtolistenserverport[0.0.0.0:8324],Error:Addressalreadyinuse[98]swoole端口被占用实在没办法重启服务期
- 关于使用Easyswoole 自定义MYSQL 连接池,一段时间后,操作接口,报数据库连接错误,然后在请求接口,就正常了
树下水月
数据库mysqloracle
关于使用Easyswoole自定义MYSQL连接池,一段时间后,操作接口,报数据库连接错误,然后在请求接口,就正常了首先我们来看看对应的easyswoole数据库注册Config/Mysq.php$mysql['mysql']=[];$mysql['mysql']['default']=['name'=>'default','host'=>'127.0.0.1','port'=>3306,'use
- thinkphp5支持php,如何让swoole完美支持ThinkPHP5呢
坎布里奇大脸猫
thinkphp5支持php
视频教程推荐TP5与workerman实战在线客服首先开启swoole的http服务开启swoole的http服务并设置提供给url访问页面的文件的根目录,代码如下。这样在浏览器只能访问…static下面的文件,而无法访问其他目录下的文件。http.serverset(['enable_static_handler'=>true,'document_root'=>"/usr/local/openr
- 如何通过Docker搭建一个swoft开发环境
八重樱。
Dockerswooleswoftphp
本篇文章给大家分享的内容是关于如何通过Docker搭建一个swoft开发环境,内容很详细,有需要的朋友可以参考一下,希望可以帮助到你们。Swoft首个基于Swoole原生协程的新时代PHP高性能协程全栈组件化框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的PHP-FPM,全异步非阻塞IO实现,以类似于同步客户端的写法实现异步客户端的使用,没有复杂的异步回调,没有繁琐的yield,
- 社群扫码进群完整可运营源码
酷爱码
phpPHP
源码介绍社群扫码进群完整可运营源码,对接免签约支付接口,推广正常绑定下级。1.安装上宝塔在配置这些环境就可以了2.搭建环境NginxMySQL5.6php7.23.php7.2安装扩展fileinforedisSwoolesg114.服务器需要安装linux的系统下载地址:社群扫码进群完整可运营源码
- 社群扫码进群完整可运营源码
CSDN专家-微编程
PHP源码PHP
源码介绍社群扫码进群完整可运营源码,对接免签约支付接口,推广正常绑定下级。1.安装上宝塔在配置这些环境就可以了2.搭建环境NginxMySQL5.6php7.23.php7.2安装扩展fileinforedisSwoolesg114.服务器需要安装linux的系统下载地址:社群扫码进群完整可运营源码
- 全开源免费的客服系统来了
new_一个对象
独立客服系统全开源CRMChatphp
aboutCRMChat是采用Swoole4+Tp6+Redis+Vue+Mysql开发的独立高性能客服系统,客服系统用户端支持Pc端、移动端、小程序、文章中接入客服,利用超链接、网页内嵌、二维码、定制对接等方式让网上所有通道都可以快速通过本系统联系到商家,商家端支持Pc端、移动端(App)随时随地接收到用户的各种咨询,商家可以添加话术库、也可以对用户进行分组、加标签、加备注进行管理,是一款互联网
- 开发业务(5)-crmeb电商系统开发前置梳理
大梁来了
开发业务教育电商
1…国内比较有名的一套电商系统二次开发相关手册https://doc.crmeb.com/mer/merchant/9198代码是使用thinkphp6.0为主体开发。PHP的运行版本要求7.1-7.4(相关插件和运行环境的支持)swoole4(使用的是swoole自建HTTP服务器,运行的模式同时系统封闭掉了正常public/index.php的代码入口)需要搭建一个反向代理的nginx。也就是
- 2018年swoole实战5-异步mysql
闲睡猫
继上篇2018年swoole实战4-异步io读写本篇演示swoole的异步mysql模拟数据在本地test数据库中新建book表,写入模拟数据CREATETABLE`book``id`int(11)NOTNULLAUTO_INCREMENT,`content`text,(`titlle`varchar(255)NOTNULLCOMMENT'标题',PRIMARYKEY(`id`))ENGINE=I
- 【Swoole 的生命周期,文件描述符,协程数量,以及默认值】
WishYouAFortune
php高并发开发语言phphyperf协程高并发swoole
目录Swoole的生命周期Swoole文件描述符(FD)缓存Swoole设置协程的数量Swoole默认值Swoole是一个基于PHP的高性能网络通信引擎,它采用C++编写,提供了协程和高性能的网络编程支持。Swoole支持多种网络服务器和客户端模块,能够轻松快速地实现TCP/UDP服务、高性能Web、WebSocket服务、IoT、实时通信、游戏和微服务等,打破了PHP在传统Web领域的限制1。S
- 学习用网址 自留
lsswear
学习学习
Swoole4文档PHP:PHP手册-Manualshell学习教程(超详细完整)_路人甲的博客-CSDN博客_shell学习Python基础-廖雪峰的官方网站Python爬虫100例教程导航帖(已完结)_梦想橡皮擦,专栏100例写作模式先行者-CSDN博客_python爬虫100例教程蓝桥杯算法全家桶(终极完结版)_JohnnyLin-CSDN博客_蓝桥杯算法Python爬虫100例教程导航帖(
- Laravel-swoole扩展包的使用
周星星的学习笔记
如何在Laravel简单快速地使用swoole呢?下面就简单给大家介绍一下。Github地址:https://github.com/swooletw/laravel-swoole。一、确认PHP安装了swoole扩展/var/www/html/backend#php-m|grepswooleswoole二、进入Laravel工程中,安装Laravel-swoole扩展#首先进入到你的Laravel
- php8.2 安装swoole扩展 (mac m1)
coder~
swoolemacos后端
php8.2安装swoole扩展发现报错此处记录使用pecl安装sudopeclinstallswoole...#发现报错/opt/homebrew/Cellar/
[email protected]/8.2.15/include/php/ext/pcre/php_pcre.h:23:10:fatalerror:'pcre2.h'filenotfound#include"pcre2.h"^~~~~~~~~1errorg
- swoole使用4种服务器【tcp/udp/web/websocket】
yichen_china
TCP服务器//创建Server对象,监听127.0.0.1:9501端口$serv=newswoole_server("127.0.0.1",9501);//监听连接进入事件$serv->on('connect',function($serv,$fd){echo"Client:Connect.\n";});//监听数据接收事件$serv->on('receive',function($serv,
- 重新编译 Swoole 并开启 Openssl
Ultra_efficient
最近使用Hyperf的时候,在使用CURL请求外部的https链接回报这样的错误:youmustconfigurewith--enable-openssltosupportsslconnectionwhen……它提示我必须配置--enable-openssl,虽然我知道这句话的文字意思,但是并不知道具体怎么操作才能进行配置,因为我并不知道他的具体执行步骤或使用流程。经过昨天的相关搜索和验证,弄清了
- 基于Swoole的高性能系统监控及Nginx负载均衡的实现
Bing的天涯路
索引Part1服务监控Part2日志落盘处理Part3平滑重启Part4负载均衡监控是非常重要的,如果没有监控的情况下服务挂掉了,用户体验极差会丢失掉用户,在本文中我们会结合Linux+swoole+php来实现系统性能的监控。在一些方面性能也需要进行优化。优化可以从很多的角度处理,比如说底层代码,系统调优比如要加大核数或者是否借助es查mysql,或者不同地区用户走到哪个机房。Part1服务监控
- 草莓CDMS原创内容分销系统,微信小说平台系统,附带系统搭建教程,搭建手册
行动之上
源码免费下载bootstrap前端html
草莓原创内容分销系统(草莓CDMS)——您的一站式内容分销解决方案引领内容分销新潮流,草莓原创内容分销系统(简称草莓CDMS)以强大的技术支持和灵活的业务模式,为原创内容的传播和商业变现提供了前所未有的便捷。基于ThinkPHP5.1、Easywechat4.0、Swoole和Redis等尖端技术,草莓CDMS确保了系统的稳定性、高效性和可扩展性。其中,Swoole和Redis的智能推送模块使得内
- hyperf php,hyperf:php swoole框架
cksh20190209
hyperfphp
PHP一定能让人想起这句话:PHP是世界上最好的语言!先贴出框架在github里的开源地址:hyperf开源地址:https://github.com/hyperf/hyperf了解一下Hyperf是什么?Hyperf是基于Swoole4.5实现的高性能、高灵活性的PHP协程框架,内置协程服务器及大量常用的组件,性能较传统基于PHP-FPM的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可
- php怎么进行异步编程,简述php异步编程
三木在Yummy
php怎么进行异步编程
前言传统的php-fpm一个进程执行一个请求,要达到多少并发,就要生成多少个进程。更糟糕的是每次请求都需要重新编译执行,导致并发一直上不来。因此出现了Swoole和WorkerMan两个国内流行的常驻内存框架。这两个框架原理都是通过事件循环,让程序一直停留在内存,等待外部请求,达到高并发。为什么需要异步先来看一个例子在工作目录下新建文件slowServer.phpsleep(5);//5秒后才能返
- php怎么进行异步编程,php异步编程是怎样的?
日立中央空调
php怎么进行异步编程
前言传统的php-fpm一个进程执行一个请求,要达到多少并发,就要生成多少个进程。更糟糕的是每次请求都需要重新编译执行,导致并发一直上不来。因此出现了Swoole和WorkerMan两个国内流行的常驻内存框架。这两个框架原理都是通过事件循环,让程序一直停留在内存,等待外部请求,达到高并发。为什么需要异步先来看一个例子在工作目录下新建文件slowServer.phpsleep(5);//5秒后才能返
- 开发知识点-swoole高性能Php异步编程框架
amingMM
swoolephp后端
swoole高性能Php异步编程框架介绍主要特性应用场景使用Swoole的优势介绍Swoole是一个高性能的PHP异步编程框架,它允许PHP开发者编写高并发、实时、异步的网络服务器和应用。Swoole通过提供了一套在PHP中使用异步I/O、协程(Coroutine)、多线程、高速序列化和IPC等高级功能的API,极大地扩展了PHP的能力,使得PHP不仅仅能用于传统的Web开发,也能用于开发微服务、
- 制作php+swoole的Docker环境
whisshe
获取官方PHP7.1-cli镜像,并在此基础上进行修改修改apt源为163的源echo"debhttp://mirrors.163.com/debian/jessiemainnon-freecontrib">/etc/apt/sources.list\&&echo"debhttp://mirrors.163.com/debian/jessie-updatesmainnon-freecontrib"
- 谈协程与Swoole框架的相关应用
云焰
性能优化Swoole协程
1.协程介绍1.1什么是协程协程(Coroutine)也叫用户态线程,其通过协作而不是抢占来进行切换。相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低。协程是进程的补充,或者是互补关系。要理解是什么是“用户态的线程”,必然就要先理解什么是“内核态的线程”。内核态的线程是由操作系统来进行调度的,在切换线程上下文时,要先保存上一个线程的上下文,然后执行下一个线程,当条件满足时
- 面试官:swoole 的认识和强大之处你不知道?回去吧!!!
it阿布
进阶PHP月薪30k编程语言phpswoole面试
首先swoole是php的一个扩展程序swoole是一个为php用c和c++编写的基于事件的高性能异步&协程并行网络通信引擎swoole是一个多进程模型的框架,当启动一个进程swoole应用时,一共会创建2+n+m个进程,n为worker进程数,m为TaskWorker进程数,1个master进程和一个manager进程,关系如下图所示Master进程为主进程,该进程会创建Manager进程、Re
- swoole学习之路(二)服务端和客户端
草原孤鹰
swoole
同步和异步概念同步与异步的重点在消息通知的方式上,也就是调用结果通知的方式。同步:当一个同步调用发出去后,调用者要一直等待调用结果的通知后,才能进行后续的执行。异步:当一个异步调用发出去后,调用者不能立即得到调用结果的返回。生活中的例子:同步买奶茶:小明点单交钱,然后等着拿奶茶;异步买奶茶:小明点单交钱,店员给小明一个小票,等小明奶茶做好了,再来取。服务端//创建Server对象,监听0.0.0.
- 以小猪o2o生活通v17.1为例简要分析SWOOLE加密破解,swoole_loader加密破解swoole加密逆向后的代码修复流程(个人见解高手掠过)
qq_2568478886
生活swoole后端
现在用Php加密五花八门除了组件就是混淆,在组件里面响当当的还属swoole,SWOOLEC是不错的国产加密,值得推荐官方宣称是永远无法破解的加密算法,针对swoolecompiler的代码修复我谈谈我的看法,以小猪o2o生活通(v17.1-v24.1)版本为例,Swoole 加密后的代码,会对变量进行混淆通常见到的为WO开头,并且修改了部份IF 的结构。1.首先从so入手UPX加壳(变种了),在
- PHP用Swoole的WebSocket功能编写聊天室Demo
小松聊PHP进阶
PHPphpswoolewebsocket
前提:linux环境下PHP有可用的Swoole扩展。9501端口可访问。后端$value){if(null===$value){$arr[$key]='';}if(is_array($value)){$arr[$key]=static::nullToEmptyString($value);}}return$arr;}/***@function统一的RestFul风格的Api格式*@param$c
- 利用swoole的websocket编写简单聊天室demo
iCheney!
swoolephpphpswoolewebsocket
服务器代码:on('open',function(swoole_websocket_server$server,$request)use(&$clientFds){#echo"server:handshakesuccesswithfd{$request->fd}\n";#将所有客户端连接标识,握手成功后保存到数组中$clientFds[]=$request->fd;});#收到消息触发回调函数$s
- PHP雪花算法并发,PHP 雪花算法收藏
安静荒废每一天
PHP雪花算法并发
代码是从easyswoole里面扒出来的看着不错收藏下timestamp=bindec(substr($Binary,0,41))+self::$twepoch;$Object->dataCenterID=bindec(substr($Binary,42,5));$Object->workerID=bindec(substr($Binary,47,5));$Object->sequence=bin
- php实现多进程的几种方式
攻城狮的梦
php开发php开发语言
目录一:使用pcntl扩展库二:使用Swoole扩展三:使用多进程模式PHP-FPM在PHP中实现多进程主要有以下几种方式:一:使用pcntl扩展库pcntl扩展库提供了多线程相关的函数,如pcntl_fork()用于创建子进程,可以在子进程中执行PHP代码。这种方式适合处理大量并发请求,但是需要服务器支持并启用pcntl扩展。在上面的示例中,pcntl_fork()函数用于创建一个子进程。在父进
- Algorithm
香水浓
javaAlgorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
- mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
- Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvmjboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
- 文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
- 怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
- 判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
- 一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
- MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
- 一个简单的存储过程
asialee
mysql存储过程构造数据批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
- annot convert from HomeFragment_1 to Fragment
百合不是茶
android导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
- Weblogic10两种修改端口的方法
bijian1013
weblogic端口号配置管理config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
- mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
- 【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
- ajax 三种提交请求的方法
BlueSkator
Ajaxjqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
- mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
- 编程之美-最短摘要的生成
bylijinnan
java数据结构算法编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
- json数据解析及typeof
chengxuyuancsdn
jstypeofjson解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
- 流程系统设计的层次和目标
comsci
设计模式数据结构sql框架脚本
流程系统设计的层次和目标
 
- RMAN List和report 命令
daizj
oraclelistreportrman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
- 二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
- C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
- 自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
- MySQL查询语句练习题,测试足够用了
flyvszhb
sqlmysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
- 转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
- 让程序员少走弯路的14个忠告
jingjing0907
工作计划学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
- nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
- 第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- FAQ - SAP BW BO roadmap
blueoxygen
BOBW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
- 关于java堆内存溢出的几种情况
tomcat_oracle
javajvmjdkthread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
- Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D