- Lavarel框架EmailSmtp邮箱发送函数 163邮箱开通SMTP教程
csdndddsd
lavarel前端服务器
163邮箱如何开通SMTP?开通步骤:如果您想在163邮箱中使用SMTP服务,需要先开通SMTP功能,具体步骤如下:登录163邮箱账号,进入邮箱首页。在邮箱首页上方,找到“设置”按钮,点击进入设置页面。在设置页面中,选择“客户端授权密码”选项,进入授权密码页面。在授权密码页面中,设置一个授权密码,并保存授权密码。这个授权密码相当于您在第三方邮箱客户端上使用的邮箱密码,不要泄露给他人,以免账号被盗用
- php 漏洞扫描,10个最佳PHP代码安全扫描程序来查找漏洞
PassionWakesMeUp
php漏洞扫描
本文概述在你的PHP应用程序中查找安全风险和代码质量。PHP统治着网络,约有80%的市场份额。它无处不在–WordPress,Joomla,Lavarel,Drupal等。PHP核心是安全的,但除此之外,你可能还在使用许多其他功能,这可能很容易受到攻击。在开发了站点或复杂的Web应用程序之后,大多数开发人员和站点所有者都将精力集中在功能,设计,SEO上,而他们却忘记了基本组成部分-安全性。最佳做法
- php定时任务配置文件,PHP日记——Lavarel使用定时任务
陈悦天
php定时任务配置文件
在业务开发中总会遇到定时任务这种需求,如果要定时不断地执行某句php命令的话则需要用到定时任务创建命令phpartisanmake:consoleHelloLaravelAcademy--command=laravel:academy其中HelloLaravelAcademy是命令名,laravel:academy是控制台执行的命令,类似make:console。执行完成后,会在app/Conso
- Lavarel异步队列的使用
ZHWenDong
phplavarelphp
系统为window启动队列:phpartisanqueue:listen设置队列类.env文件需设置:QUEUE_CONNECTION=redisemail=$email;}/***Executethejob.**@returnvoid*/publicfunctionhandle(){Log::info($this->email);}}使用useApp\Jobs\SendEmail;classTe
- Lavarel定时任务的使用
ZHWenDong
phplavarel后端php
系统为window执行命令(执行一次命令只会根据当前时间运行一次定时任务)phpartisanschedule:run创建一个任务类(在Jobs文件夹下面)job(newYourJobName)->everyMinute();//每分钟执行一次}在Windows上配置定时任务以每分钟执行phpartisanschedule:run命令打开任务计划程序;在Windows搜索框中输入“任务计划程序”并
- php处理csv 读取导入导出csv文件
夏季未央
phpcsvphpcsvthinkphplaravel
处理CSV类库thinkcsvphp操作csv,csv导入,导出,读取支持原生php、thinkphp5/thinkphp6/lavarel/yii2.0等框架操作csv文件支持thinkphp处理csv文件,lavarel处理csv文件,yii2.0处理csv文件搜索半天,发现网上没有一个非常完整的处理csv的类,于是自己写一个,制作一个composer包,方便大家使用,支持各大php框架使用,
- lavarel 模型事件 Observer 观察者模式
ignativs amor
laravel设计模式lavarel观察者模式模型事件监听器
简介Laravel中的事件与监听使用的了观察者模式,观察者模式可以做到优雅的处理一连串的动作,动态的增加和减少动作,而不用去改变主线业务代码。事件类通常存放在app/Events目录中,而这些事件类的监听器则存放在app/Listeners中。是应用中实现解耦的非常的好的一种方法。例如:当用户在应用中使用会员权益购买一样商品,在购买时,需要消耗用户相应的剩余权益。这时候你就使用监听可以把订单生成和
- Nginx 解决api跨域问题
天下皆白_唯我独黑
nginx运维
环境:nginx1.22.1宝塔8.0phplavarel在nginx里加入下面的设置#这里填*就是任何域名都允许跨域add_headerAccess-Control-Allow-Origin"*";#CORS请求默认不发送Cookie和HTTP认证信息。但是如果要把Cookie发到服务器,要服务器同意,指定#Access-Control-Allow-Credentials字段。add_heade
- centOS7 install php7.0 (Lavarel)
小小池池
https://laravel.com/docs/5.5yuminstallphp70w-cliphp70w-fpmphp70w-pdophp70w-mbstringphp70w-xml
- Laravel 实战项目:鲜花网
半截小丑
项目地址:https://github.com/lpq29743/flower本工程是在自己大学阶段的《PHP程序设计》一课上,利用PHP7+Laravel5.4完成的大作业。本项目实现了Lavarel5.4的大部分功能,欢迎star和提issue和PR,共同学习,共同进步!项目部分截图如下:flower.pngshowflower.pngflowerdetail.pngregister.pngs
- laravel8中表单提交
phplavarelphp框架
1、在表单提交的页面action只需要写对应的请求的route路由路径:路由路径:{{csrf_field()}}//此段代码必填,此处如果不填,界面会报419,此处应该是lavarel中防止csrf漏洞进行的设计。2、之后正常使用对应的request去调用获取表单输入框的内容:对于post,一般都是直接采用函数来整:Route::post('/createUser',function(Reque
- vscode+PHPstudy+lavarel调试+采坑越过
1、PHPstudy中安装好对应版本的PHP;2、vscode中安装:3、配置php.ini,这里我踩了不少坑,在配置文件中添加xdebug.remote_enable=1xdebug.remote_autostart=1并可以把我圈出来的前两项注释掉在php文件中增加xdebug配置:php配置文件位置新增加两行4、进入vscode中配置对应项目的launch.json文件,只需要增加一个xde
- lavarel-admin 删除回调
中v中
官方在1.7版本取消了删除回调。图片.png但是对模型的删除回调又写的非常模糊,对于小白来说根本找不到在哪这个应该在app\providers\AppServiceProvider.phpboot方法里publicfunctionboot(){//订单模型的删除回调Order::deleted(function($model){//这样可以拿到当前操作id$model->id//logger('1
- git拉取项目以及git的几点特性
jacklin1992
git+composer拉取项目1.先从远程仓库克隆项目gitclonehttps://github.com/pengloo53/learngit.git2.composer安装json中的所需第三方composerinstall因为在lavarel根目录中有一个composer.json文件,里面有所需的第三方以及版本解释:1.首先项目目录是没有.env文件的,因为大家公用一个数据库,这个文件一
- ubuntu16.04使用Composer创建Lavarel项目
米旦
安装composer的中文教程链接安装composer的英文教程链接创建Laravel项目composercreate-projectlaravel/laravelfirstLaravel启动项目方法1php-Slocalhost:8888-tpublic方法2phpartisanserve在创建项目时遇到problem:Yourrequirementscouldnotberesolvedtoan
- Lavarel dispatch队列未执行
Lay小心心
.env中设置消息队列写入redis中,但是在存入redis之后,消息队列并未执行。我这边的原因是在项目中,未开启队列的监听工作。解决:1、我的电脑->属性->高级系统设置->环境变量->系统变量,在path中添加你安装使用的PHP路径,如E:\phpStudy\PHPTutorial\php\php-7.2.1-nts\;2、在lavarel项目下打开命令窗口,执行:phpartisanqueu
- lavarel视频教程(高清完全版-绝对精品)
dotcoolgirl
为WEB艺术家创造的PHP框架,lavarel视频教程(高清完全版-绝对精品),E家课堂出品讲解了lavarel的基础应用和高级应用,模型orm、视图创建、模板集成、数据库快速开发等等。希望大家喜欢lavarel视频教程(高清完全版-绝对精品)lavarel入门级介绍并制作一个短链接生成网站【lavarel视频教程(高清完全版-绝对精品)】播放视频下载00:02:17lavarel环境搭建和命令的
- php的lavarel框架中join和orWhere的用法
Laravel是一个开源PHP框架,功能强大且易于理解。它遵循模型-视图-控制器设计模式(MVC)。Laravel重用了不同框架的现有组件,这有助于创建Web应用程序。这样设计的Web应用程序更加结构化和实用。Laravel框架的主要特点:1.模块化包装2.依赖管理器完全基于composer3.精湛的自动加载器4.优雅的ORM5.查询构建器作为潜在的ORM替代6.PostgreSQL,MySQL,
- php的lavarel框架中join和orWhere的用法
郝同学
数据库phplavarel数据库sql
1.前景题要:在一个项目中,我遇到了需要联表查询的情况,同时联表之后需要通过一个关键词来筛选出对应的数据,就比如我这里需要对角色名字、用户名称、电话这几个字段,通过传入的一个keyword字段进行筛选。2.问题分析:此时我需要把用户表联系上我们的订单表,订单表中有user_id的字段,从而可以得到订单的用户名称,这里首先讲一下join(联表)的用法。常用的有三种join()、leftJoin()、
- lavarel5.2官方文档阅读——架构基础
weixin_30713953
phpjavascript前端
《目录》1.请求的生命周期2.应用的架构3.服务提供者4.服务容器5.Facades外立面(从这节起,看中文版的:https://phphub.org/topics/1783)6.用户认证1.请求的生命周期所有的请求都会被服务器导向public/index.php文件,它是整个框架的入口点。首先载入Composer提供的类自动加载器,然后获取lavarel应用的一个实例(从bootstrap/ap
- Laravel——Web开发实战之路(一)
食兔人
教程团队项目后端框架后端Lavarel框架
Laravel——Web开发实战之路(一)@[Laraval|后端|框架]LaravelWeb开发实战之路一前言编辑器选择命令行操作win下Lavarel环境配置1安装VirtualBox安装Vagrant安装Homestead前言此blog是我学习lavarel教程——Web开发实战的心得,包括碰到的坑和解决的办法本来项目组laravel的学习进阶已经有人写过完整的教程(面向新手友好)王皓的la
- Laravel修改配置后一定要清理缓存 "php artisan config:clear"!
smile121621
phplavarel
转载出处:http://blog.51cto.com/daweilang/1874736(很感谢这位兄弟)其实你查的话如果是初学者,你都无从下手,贼恐怖!!!所以说在用新知识的时候一定要先学习下,虽然这个地方你学都学不到,只能采坑,大家一起去讨论才可以问题描述:lavarel框架写了个amqp的队列引用然后自动消费的机制但是我在本地开发环境一切正常,但是上到了测试环境队列使用不被消费无从下手差不多
- 新手学习laravel框架-laravel5.5框架入门
robin_sky
PHPlaravel
刚开始学习laravel框架时,我也不知道从何入手,首先就从文件目录开始,找到项目入口文件,然后进行配置运行。注意:在配置运行时,要注意PHP的版本是否符合要求以及下列扩展是否开启,否则运行不能成功:PHPOpenSSL扩展PHPPDO扩展PHPMbstring扩展PHPTokenizer扩展PHPXML扩展当配置运行后出现如下界面时,说明lavarel框架已经可以正常运行,可以进行其他的操作。1
- laravel基础课程---14、表单验证(lavarel如何进行表单验证)
weixin_34342905
laravel基础课程---14、表单验证(lavarel如何进行表单验证)一、总结一句话总结:lavarel的验证的功能比tp要【简单】且【强大】很多直接控制器中:添加【规则数组】和【修改提示信息数组】,然后调用【验证类】进行验证即可:$validator=\Validator::make($input,$rules,$message);表单验证1、控制器//规则$rules=['name'=>
- lavarel-模板包含与模板继承
Wake_me_Up123
laravel
模板包含:@include('msg.sub')模板继承:父类的部分@show@section('right')@show子类的部分:@section('left')圣诞节@endsection@section('right')平安夜@endsection子类继承父类会重写父类的方法,其中的内容都会被覆盖,加入@parent防止父类被覆盖@section('left')圣诞节@parent@end
- 关于CI框架访问数据库类提示Call to undefined function mysqli_init()
一战成铭小铭在线
大家好,我曾经是ASP.NETMVC的践行者,现在是PHP,同时也是CodeIgniter框架的初学者和践行者,当时由于项目原因,我被迫给自己打满鸡血,满怀激情的选用Yii2,Lavarel5,CodeIgniter等PHP框架进行项目开发,同你一样被"Calltoundefinedfunctionmysqli_init()"这个小问题折磨得挠头骚耳,找遍各大论坛依然找不到问题之所在,差点铩羽而归
- laravel model层建立(以及控制器调用)
woshihaiyong168
laravel框架
我们编程一般都是采用mvc的形式,这个想法对我们来说根深蒂固,当我们了解lavarel框架的时候已经被它优雅的编程所折服,那么刚开始我们都会有疑问laravel的model层文件去哪里了,当我们使用PHPartisanmake:modelprivilegeModel(名字随便写,可以不加Model)创建model时它默认放在了app同级目录下,也可以自己创建model,只要注意命名空间就OK!那么
- Lavarel Eloquent小技巧
Wake_me_Up123
laravel
获取原始属性修改一条Eloquent模型记录是可以通过调用getOriginal()方法获取记录的原始属性:$user=App\User::first();$user->name;//John$user->name="Peter";//Peter$user->getOriginal('name');//John$user->getOriginal();//原始$user记录检查模型是否被修改使用i
- 关于mysql复合主键
dengou2260404339
以前,只在资料中遇到过复合主键,只是知道如何构建复合主键,却从没切身用过,今天在使用lavarel的权限管理插件时,遇到了:CREATETABLE`qpr_role_user`(`user_id`int(10)unsignedNOTNULL,`role_id`int(10)unsignedNOTNULL,PRIMARYKEY(`user_id`,`role_id`),KEY`role_user_r
- 6.x的laravel安装
连PP都是爱你的形状
laravel
laravel的安装方法你好!这个lavarel是在phpstudy下安装的。如何安装composer当我们打开phpstudy的时候在其他菜单选项》其他高级应用》PHPcomposer中输入composer,如果出现下图就表明你的环境中集成了这个。但是不同的版本的laravel所适应的composer版本是不一样的。我们这里是安的6.x版的laravel。这里就需要1.9.0版的composer
- 二分查找排序算法
周凡杨
java二分查找排序算法折半
一:概念 二分查找又称
折半查找(
折半搜索/
二分搜索),优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而 查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表 分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步
- java中的BigDecimal
bijian1013
javaBigDecimal
在项目开发过程中出现精度丢失问题,查资料用BigDecimal解决,并发现如下这篇BigDecimal的解决问题的思路和方法很值得学习,特转载。
原文地址:http://blog.csdn.net/ugg/article/de
- Shell echo命令详解
daizj
echoshell
Shell echo命令
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:
echo string
您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串:
echo "It is a test"
这里的双引号完全可以省略,以下命令与上面实例效果一致:
echo Itis a test 2.显示转义
- Oracle DBA 简单操作
周凡杨
oracle dba sql
--执行次数多的SQL
select sql_text,executions from (
select sql_text,executions from v$sqlarea order by executions desc
) where rownum<81;
&nb
- 画图重绘
朱辉辉33
游戏
我第一次接触重绘是编写五子棋小游戏的时候,因为游戏里的棋盘是用线绘制的,而这些东西并不在系统自带的重绘里,所以在移动窗体时,棋盘并不会重绘出来。所以我们要重写系统的重绘方法。
在重写系统重绘方法时,我们要注意一定要调用父类的重绘方法,即加上super.paint(g),因为如果不调用父类的重绘方式,重写后会把父类的重绘覆盖掉,而父类的重绘方法是绘制画布,这样就导致我们
- 线程之初体验
西蜀石兰
线程
一直觉得多线程是学Java的一个分水岭,懂多线程才算入门。
之前看《编程思想》的多线程章节,看的云里雾里,知道线程类有哪几个方法,却依旧不知道线程到底是什么?书上都写线程是进程的模块,共享线程的资源,可是这跟多线程编程有毛线的关系,呜呜。。。
线程其实也是用户自定义的任务,不要过多的强调线程的属性,而忽略了线程最基本的属性。
你可以在线程类的run()方法中定义自己的任务,就跟正常的Ja
- linux集群互相免登陆配置
林鹤霄
linux
配置ssh免登陆
1、生成秘钥和公钥 ssh-keygen -t rsa
2、提示让你输入,什么都不输,三次回车之后会在~下面的.ssh文件夹中多出两个文件id_rsa 和 id_rsa.pub
其中id_rsa为秘钥,id_rsa.pub为公钥,使用公钥加密的数据只有私钥才能对这些数据解密 c
- mysql : Lock wait timeout exceeded; try restarting transaction
aigo
mysql
原文:http://www.cnblogs.com/freeliver54/archive/2010/09/30/1839042.html
原因是你使用的InnoDB 表类型的时候,
默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s,
因为有的锁等待超过了这个时间,所以抱错.
你可以把这个时间加长,或者优化存储
- Socket编程 基本的聊天实现。
alleni123
socket
public class Server
{
//用来存储所有连接上来的客户
private List<ServerThread> clients;
public static void main(String[] args)
{
Server s = new Server();
s.startServer(9988);
}
publi
- 多线程监听器事件模式(一个简单的例子)
百合不是茶
线程监听模式
多线程的事件监听器模式
监听器时间模式经常与多线程使用,在多线程中如何知道我的线程正在执行那什么内容,可以通过时间监听器模式得到
创建多线程的事件监听器模式 思路:
1, 创建线程并启动,在创建线程的位置设置一个标记
2,创建队
- spring InitializingBean接口
bijian1013
javaspring
spring的事务的TransactionTemplate,其源码如下:
public class TransactionTemplate extends DefaultTransactionDefinition implements TransactionOperations, InitializingBean{
...
}
TransactionTemplate继承了DefaultT
- Oracle中询表的权限被授予给了哪些用户
bijian1013
oracle数据库权限
Oracle查询表将权限赋给了哪些用户的SQL,以备查用。
select t.table_name as "表名",
t.grantee as "被授权的属组",
t.owner as "对象所在的属组"
- 【Struts2五】Struts2 参数传值
bit1129
struts2
Struts2中参数传值的3种情况
1.请求参数绑定到Action的实例字段上
2.Action将值传递到转发的视图上
3.Action将值传递到重定向的视图上
一、请求参数绑定到Action的实例字段上以及Action将值传递到转发的视图上
Struts可以自动将请求URL中的请求参数或者表单提交的参数绑定到Action定义的实例字段上,绑定的规则使用ognl表达式语言
- 【Kafka十四】关于auto.offset.reset[Q/A]
bit1129
kafka
I got serveral questions about auto.offset.reset. This configuration parameter governs how consumer read the message from Kafka when there is no initial offset in ZooKeeper or
- nginx gzip压缩配置
ronin47
nginx gzip 压缩范例
nginx gzip压缩配置 更多
0
nginx
gzip
配置
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?
gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用
- java-13.输入一个单向链表,输出该链表中倒数第 k 个节点
bylijinnan
java
two cursors.
Make the first cursor go K steps first.
/*
* 第 13 题:题目:输入一个单向链表,输出该链表中倒数第 k 个节点
*/
public void displayKthItemsBackWard(ListNode head,int k){
ListNode p1=head,p2=head;
- Spring源码学习-JdbcTemplate queryForObject
bylijinnan
javaspring
JdbcTemplate中有两个可能会混淆的queryForObject方法:
1.
Object queryForObject(String sql, Object[] args, Class requiredType)
2.
Object queryForObject(String sql, Object[] args, RowMapper rowMapper)
第1个方法是只查
- [冰川时代]在冰川时代,我们需要什么样的技术?
comsci
技术
看美国那边的气候情况....我有个感觉...是不是要进入小冰期了?
那么在小冰期里面...我们的户外活动肯定会出现很多问题...在室内呆着的情况会非常多...怎么在室内呆着而不发闷...怎么用最低的电力保证室内的温度.....这都需要技术手段...
&nb
- js 获取浏览器型号
cuityang
js浏览器
根据浏览器获取iphone和apk的下载地址
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" content="text/html"/>
<meta name=
- C# socks5详解 转
dalan_123
socketC#
http://www.cnblogs.com/zhujiechang/archive/2008/10/21/1316308.html 这里主要讲的是用.NET实现基于Socket5下面的代理协议进行客户端的通讯,Socket4的实现是类似的,注意的事,这里不是讲用C#实现一个代理服务器,因为实现一个代理服务器需要实现很多协议,头大,而且现在市面上有很多现成的代理服务器用,性能又好,
- 运维 Centos问题汇总
dcj3sjt126com
云主机
一、sh 脚本不执行的原因
sh脚本不执行的原因 只有2个
1.权限不够
2.sh脚本里路径没写完整。
二、解决You have new mail in /var/spool/mail/root
修改/usr/share/logwatch/default.conf/logwatch.conf配置文件
MailTo =
MailFrom
三、查询连接数
- Yii防注入攻击笔记
dcj3sjt126com
sqlWEB安全yii
网站表单有注入漏洞须对所有用户输入的内容进行个过滤和检查,可以使用正则表达式或者直接输入字符判断,大部分是只允许输入字母和数字的,其它字符度不允许;对于内容复杂表单的内容,应该对html和script的符号进行转义替换:尤其是<,>,',"",&这几个符号 这里有个转义对照表:
http://blog.csdn.net/xinzhu1990/articl
- MongoDB简介[一]
eksliang
mongodbMongoDB简介
MongoDB简介
转载请出自出处:http://eksliang.iteye.com/blog/2173288 1.1易于使用
MongoDB是一个面向文档的数据库,而不是关系型数据库。与关系型数据库相比,面向文档的数据库不再有行的概念,取而代之的是更为灵活的“文档”模型。
另外,不
- zookeeper windows 入门安装和测试
greemranqq
zookeeper安装分布式
一、序言
以下是我对zookeeper 的一些理解: zookeeper 作为一个服务注册信息存储的管理工具,好吧,这样说得很抽象,我们举个“栗子”。
栗子1号:
假设我是一家KTV的老板,我同时拥有5家KTV,我肯定得时刻监视
- Spring之使用事务缘由(2-注解实现)
ihuning
spring
Spring事务注解实现
1. 依赖包:
1.1 spring包:
spring-beans-4.0.0.RELEASE.jar
spring-context-4.0.0.
- iOS App Launch Option
啸笑天
option
iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因。
launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 。
1、若用户直接
- jdk与jre的区别(_)
macroli
javajvmjdk
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。
JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK,会发同你
- Updates were rejected because the tip of your current branch is behind
qiaolevip
学习永无止境每天进步一点点众观千象git
$ git push joe prod-2295-1
To
[email protected]:joe.le/dr-frontend.git
! [rejected] prod-2295-1 -> prod-2295-1 (non-fast-forward)
error: failed to push some refs to '
[email protected]
- [一起学Hive]之十四-Hive的元数据表结构详解
superlxw1234
hivehive元数据结构
关键字:Hive元数据、Hive元数据表结构
之前在 “[一起学Hive]之一–Hive概述,Hive是什么”中介绍过,Hive自己维护了一套元数据,用户通过HQL查询时候,Hive首先需要结合元数据,将HQL翻译成MapReduce去执行。
本文介绍一下Hive元数据中重要的一些表结构及用途,以Hive0.13为例。
文章最后面,会以一个示例来全面了解一下,
- Spring 3.2.14,4.1.7,4.2.RC2发布
wiselyman
Spring 3
Spring 3.2.14、4.1.7及4.2.RC2于6月30日发布。
其中Spring 3.2.1是一个维护版本(维护周期到2016-12-31截止),后续会继续根据需求和bug发布维护版本。此时,Spring官方强烈建议升级Spring框架至4.1.7 或者将要发布的4.2 。
其中Spring 4.1.7主要包含这些更新内容。