06 2019 档案
摘要:一、锁概述 1、相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如, (1)MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking); (2)BDB存储引擎采用的是页面锁(page-level locking),但也
阅读全文
摘要:一、表空间1、表空间: innodb 引擎存储的最高层; 存放所有的数据2、独立表空间:Mysql 版本 5.6 后默认开启的单表单空间(1)Innodb 默认存储引擎页的大小为 16K ;默认表空间 大小为96k (2)独立表空间 开启方式 innodb_file_per_table ON 从My
阅读全文
摘要:一、事务使用条件和场景 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。 事务用来管理 insert,update,delete 语句 二、事务特性 一般来说,事务是必须满足4个
阅读全文
摘要:一、日志类型 逻辑日志:存储了逻辑SQL修改语句 物理日志:存储了数据被修改的值 逻辑日志:存储了逻辑SQL修改语句 物理日志:存储了数据被修改的值 二、binlog 1.定义 binlog 是 MySQL 的逻辑日志,也叫二进制日志、归档日志,由 MySQL Server 来记录。 用于记录用户对
阅读全文
摘要:一、常用sql show variables like 'character_set_client';#查询字符集 show databases;#列出所有的服务器上的数据库alter create database if not exists test;#创建一个数据库 drop database
阅读全文
摘要:为WAMP中的mysql设置密码密码 WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作。 1、首先,通过WAMP打开mysql控制台。 提示输入密码,因为现在是空,所以直接按回车。 2、然后输入“use mysql”,意思是使用mysq
阅读全文
摘要:在DOS窗口、gitbush以及一些可以使用的命令行工具的界面上,输入:net stop mysql、net start mysql时,总是提示:服务名无效。 出现提示如下: 原因是:因为net start +服务名,启动的是win下注册的服务。此时,系统中并没有注册mysql到服务中。即当前路径下
阅读全文
摘要:百度了一下,说是要赋权限,按照操作赋了权限也还是报错,其实只要执行第一个就好,但为了保险起见,我都执行了,还是不行 后面继续百度,说是 得出了以下解决办法 需要把 SELinux 关掉,关掉办法: 1、临时关闭(不用重启机器): 2、修改配置文件需要重启机器: 参照:https://blog.csd
阅读全文
摘要:网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。 因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互
阅读全文
摘要:越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。 网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对
阅读全文
摘要:整体规范建议采用RESTful 方式来实施。 协议 API与用户的通信协议,总是使用HTTPs协议,确保交互数据的传输安全。 域名 应该尽量将API部署在专用域名之下。https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。https://exa
阅读全文
摘要:在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道,请求的来源是什么,有可能是别人非法调用我们的接口,获取数据,因此就要使用安全验证。 一、验证原理 1、示意图 2、原理
阅读全文
摘要:一、环境: centos7 + apache2.6+mysql5.5+PHP7.2 确保php版本大于7.1,看帮助文档说是7就可以,但是我部署的时候提示要大于7.1,并且要装上必须的php扩展 二、我的项目在github上,所以在centos中,转到/var/www/,拉取项目 三、Laravel
阅读全文
摘要:安装环境 1、首先在phpMyAdmin官方网站 http://www.phpmyadmin.net/downloads下载源码包,下载后上传到服务器解压即可,或者通过Linux命令来下载安装 cd /usr/local/src 2、下载phpMyAdmin安装包 wget https://file
阅读全文
摘要:http重启httpd发生错误,后面按照提示执行systemctl status httpd.service命令 按照提示,继续执行journalctl -xe 这里显示了详细的错误信息,并且给出了解决方案,按照上图最后红框里面的方案执行 然后在重启httpd,成功了 !!!一定要看错误提示!!!
阅读全文
摘要:一、首先查看是否有老版本 yum list installed | grep php 二、如果安装的有 yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.
阅读全文
摘要:一、安装composer composer 属于php的包依赖管理工具。 1、进入Composer国内镜像网站文档页查看安装方法: https://docs.phpcomposer.com/00-intro.html 2、在centOS系统中进入特定目录执行以下命令: cd /usr/local/c
阅读全文
摘要:1、首先在github上新建一个裸仓库 得到新仓库地址 2、打开本地要添加项目的目录,右键选择git bash,执行命令 (1)git init (2)git remote add origin https://github.com/Ivy-zheng/tp5web.git 这是有可能会报错 解决方
阅读全文
摘要:优点 和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了 分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的
阅读全文
摘要:一、初识路由 路由系统是所有 PHP 框架的核心,路由承载的是 URL 到代码片段的映射,不同的框架所附带的路由系统是这个框架本质最真实的写照,一丝不挂,一览无余。Laravel 路由中文文档:http://laravel-china.org/docs/5.5/routing Laravel 5.3
阅读全文
摘要:一、安装 在终端CMD里切换到你想要放置该网站的目录下(如 d:\project\laravel),运行命令 然后,稍等片刻,当前目录下就会出现一个叫 learnlaravel5 的文件夹,安装完成啦~ 二、运行 1、如果想要在wamp下运行,把laravel项目安装在wamp下的www目录下,例如
阅读全文
摘要:Laravel 集成了 Monolog 日志函数库,Monolog 支持和提供多种强大的日志处理功能。 1、设置,日志模式 (1)Laravel 提供可立即使用的 single、daily、syslog 和 errorlog 日志模式。 例如,如果你想要每天保存一个日志文件,而不是单个文件,则可以在
阅读全文
摘要:一、composer是什么 如果你知道yum、apt-get、npm、bower等命令中的一种或者多种,那么,你也能很快知道composer是什么了。没错,它就是PHP里快速安装类库的。平时,我们安装一个PHP类库,需要搜索->下载;使用composer,我们只要知道包名,直接composer in
阅读全文
摘要:1、配置单元测试目录: (1)autoload.php (2)Money.php (3)MoneyTest.php 2、配置测试框架 3、建立单元测试模板: 4、运行测试: 5、测试结果 6、phpunit中相关的几个断言: 7、注意事项 (1)测试用例要引入phpunit use PHPUnit\
阅读全文
摘要:一、Linux 下安装PHPunit PHP 档案包 (PHAR) 要获取 PHPUnit,最简单的方法是下载 PHPUnit 的 PHP 档案包 (PHAR),它将 PHPUnit 所需要的所有必要组件(以及某些可选组件)捆绑在单个文件中: 要使用 PHP档案包(PHAR)需要有 phar 扩展。
阅读全文
摘要:安装xdebug 去官网下载对应版本的xdebug扩展 XDEBUG EXTENSION FOR PHP | DOWNLOADS 如何选择正确版本 输出phpinfo()函数的内容 查看输出页面的网页源码 全选复制 到这个页面 XDEBUG EXTENSION FOR PHP | DOCUMENTA
阅读全文
摘要:1、完成php代码后,点击空白处,右上角会出现 chrome、firefox等浏览器的图标,选择一个电脑上已有图标 2、默认情况下浏览器会提示“bad gateway”,此时需要配置phpstorm对PHP解释器(即让PHPStorm找到php.exe文件) 点击phpstorm的“File->Se
阅读全文
摘要:查看查询缓存情况: mysql> show variables like '%query_cache%'; (query_cache_type 为 ON 表示已经开启) + + + | Variable_name | Value | + + + | have_query_cache | YES |
阅读全文
摘要:为了验证select 1 与 select 1 from tableName 与 select * from tableName的执行效率,需要测试一下各自执行的时间。于是总结一下,查看mysql语句运行时间的方法。 方法一: show profiles。 1. Show profiles是5.0.
阅读全文
摘要:一、图的概念 1、图:图(graph)由边(edge)的集合及顶点(vertex)的集合组成。通常记为:G=(V,E)。 2、有向图、无向图 图根据边有无方向分为有向图和无向图。 有向图 无向图 定义 图中的每条边都是有方向的。 图中的每条边都是无方向的。 示例图 说明 G=(V1,{E1}),其中
阅读全文
摘要:一、二叉树的遍历 以某种特定顺序访问树中所有的节点称为树的遍历,遍历二叉树可分深度优先遍历和广度优先遍历。 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。可以细分为先序遍历、中序遍历、后序遍历。 深度优先遍历 先序遍历 中序遍历 后序遍历 解释 对任一子树,先访
阅读全文
摘要:一、二叉树的基本概念 二叉树:二叉树是每个节点最多有两个子树的树结构。 根节点:一棵树最上面的节点称为根节点。 父节点、子节点:如果一个节点下面连接多个节点,那么该节点称为父节点,它下面的节点称为子 节点。 叶子节点:没有任何子节点的节点称为叶子节点。 兄弟节点:具有相同父节点的节点互称为兄弟节点。
阅读全文
摘要:「数据库」和「数据库索引」这两个东西是在服务器端开发领域应用最为广泛的两个概念,熟练使用数据库和数据库索引是开发人员在行业内生存的必备技能 使用索引很简单,只要能写创建表的语句,就肯定能写创建索引的语句,要知道这个世界上是不存在不会创建表的服务器端程序员的。然而, 会使用索引是一回事, 而深入理解索
阅读全文
摘要:一、mysql大数据量使用limit分页,随着页码的增大,查询效率越低下。 1. 直接用limit start, count分页语句, 也是我程序中用的方法: select * from product limit start, count当起始页较小时,查询没有性能问题,我们分别看下从10, 10
阅读全文
摘要:part 1 port = 3306:指定了Mysql开放的端口; basedir = /usr/local/mysql:指定Mysql安装的绝对路径; datadir = /data/mysql_db_data:指定Mysql数据存放的绝对路径; socket = /tmp/mysql.sock:
阅读全文
摘要:一、MYSQL的索引 1、索引(Index):帮助Mysql高效获取数据的一种数据结构。用于提高查找效率,可以比作字典。可以简单理解为排好序的快速查找的数据结构。2、索引的作用:便于查询和排序(所以添加索引会影响where 语句与 order by 排序语句) 在数据之外,数据库还维护着满足特定查找
阅读全文
摘要:PHP运行模式有4钟:1)cgi 通用网关接口(Common Gateway Interface))2) fast-cgi 常驻 (long-live) 型的 CGI3) cli 命令行运行 (Command Line Interface)4)web模块模式 (apache等web服务器运行的模块模
阅读全文
摘要:1、请解释一下什么是Nginx? 答:Nginx是一个web服务器和反向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。2、请列举Nginx的一些特性? 答:Nginx服务器的特性包括: 1)反向代理/L7负载均衡器 2)嵌入式Perl解释器 3)动态二进制升级 4)可用于重
阅读全文
摘要:一、Nginx配置文件nginx.conf中文详解 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | e
阅读全文
摘要:一、 Nginx下载安装 1、Nginx下载:nginx-1.13.0.tar.gz,下载到:/usr/local/software/ wget http://nginx.org/download/nginx-1.13.0.tar.gz 2、Nginx解压安装: tar -zxvf nginx-1.
阅读全文
摘要:1、Centos7系统库中默认是没有nginx的rpm包的,所以我们需要先更新下rpm依赖库 (1):使用yum安装nginx,安装nginx库 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-
阅读全文
摘要:学习PHP的时候需要在CentOS系统下安装lamp环境,安装容易卸载就没那么简单了,因为lamp由Apache、MySQL、PHP三个部分构成,需要逐个卸载,小编就给大家介绍下CentOS卸载lamp环境的方法。 一、卸载Mysql [root@localhost ~]# rpm -qa|grep
阅读全文
摘要:Nginx中文教程网:http://www.nginx.cn/ Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。 Nginx 的参数包括有如下几个: 使用: /usr/local/nginx/sbin/nginx -参数 -
阅读全文
摘要:一、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。 这里我给来2张图,对正向代理与反响代理做个诠释,具体细节,大家可以翻阅下资料。 Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结
阅读全文
摘要:一、使用composer安装php-amqplib 二、使用php-amqplib
阅读全文
摘要:一、路由(Routing) 在前面的教程中,我们实现了一个简单的日志系统。可以把日志消息广播给多个接收者。 本篇教程中我们打算新增一个功能——使得它能够只订阅消息的一个字集。例如,我们只需要把严重的错误日志信息 写入日志文件(存储到磁盘),但同时仍然把所有的日志信息输出到控制台中 二、绑定(Bind
阅读全文
摘要:一、发布/订阅 分发一个消息给多个消费者(consumers)。这种模式被称为“发布/订阅”。 为了描述这种模式,我们将会构建一个简单的日志系统。它包括两个程序——第一个程序负责发送日志消息,第二个程序负责获取消息并输出内容。 在这个日志系统中,所有正在运行的接收方程序都会接受消息。我们用其中一个接
阅读全文
摘要:工作队列(又称:任务队列——Task Queues)是为了避免等待一些占用大量资源、时间的操作。当我们把任务(Task)当作消息发送到队列中,一个运行在后台的工作者(worker)进程就会取出任务然后处理。当你运行多个工作者(workers),任务就会在它们之间共享。 这个概念在网络应用中是非常有用
阅读全文
摘要:一、网站应用攻击与防御 1、XSS攻击 (1)跨站点脚本攻击 1)反射型:攻击者诱使用户点击一个嵌入恶意脚本的连接,达到攻击的目的。 2)持久型:黑客提交含有恶意脚本的请求,保存在被攻击的web站点数据库中,用户浏览网页时,恶意脚本被包含在 正常页面中,达到攻击的目的。 (2)防御手段 1)消毒:对
阅读全文
摘要:一、RabbitMQ结构 1、几个概念说明: Broker:简单来说就是消息队列服务器实体。 Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。 Queue:消息队列载体,每个消息都会被投入到一个或多个队列。 Binding:绑定,它的作用就是把exchange和queue按照路由
阅读全文
摘要:一、构建可扩展的网站架构 1、如何分解系统的各个模块,如何定义各个模块的接口,如何复用组合不同的模块构造成一个完整的系统, 是软件设计中最具挑战的部分。 2、设计完整可扩展架构的核心思想是模块化,并在此基础上,降低模块间得耦合性,提高模块的复用性。这些 组件模块以消息传递及依赖调用的方式聚合成一个完
阅读全文
摘要:一、简介 1、MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka,以及阿里开源的RocketMQ 2、AMQP是消息队列的一个协议。 3、RabbitMq开发语言:Erlang – 面向并发的编程语言。 二、下载安装 1、下载 Rabbit MQ 是建立在强大
阅读全文