进程、线程、协程

Posted 2020-03-01updated 2020-03-01Words 83Reading time 1m

进程

概念

对于操作系统而言,进程就是一个任务,比方说你打开了一个记事本,那就是启动了一个进程,打开两个浏览器,就是在另外开启了两个进程,也就是说,一个进程至少要干一件事情

其他

线程

协程

微服务之RPC远程过程调用

Posted 2020-03-01updated 2020-03-01Words 184Reading time 1m

RPC远程过程调用

概念。。。。

PRC使用流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//server服务端

//绑定端口,监听IP地址,为所有IP地址提供服务;端口号
$server = new swoole\server('0.0.0.0',9205);//tcp服务器
//设置参数(进程个数 )
$server->set([
'worker_num' => 4 //进程数合理参数
]);
//绑定事件,监听客户端事件发送
$server->on('receice', function () {
echo '有客户端消息了';
});
//启动服务器
$server->start();
1
2
3
4
5
6
7
8
//客户端,发送请求(tcp协议)

$client = new swoole\client(SWOOLE_SOCKK_TCP); //异步client
$client->connect('0.0.0.0',9588); //连接服务器 端口1-65535
/**
* rpc 通讯自定义协议
*/
$client->send('发送请求');

swoole常驻内存

常驻内存可提高性能,不停的创建然后销毁

YIi2操作Query构造器

Posted 2020-02-28updated 2020-03-01Words 753Reading time 6m

Yii2连接数据库

1
2
3
4
5
6
7
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=basic', //mysql主机号,数据库名字
'username' => 'root', //数据库账号
'password' => '123456', //密码
'charset' => 'utf8',
];
Read more »

YIi2基础篇

Posted 2020-02-28updated 2020-02-28Words 471Reading time 3m

cookle和session使用简介

在这里说的只是yii的cookie和session的使用方法,在了解其原理的可以在小编的另一篇文章 PHP会话控制 了解原理和基础

Read more »

Yii2数据库迁移

Posted 2020-02-28updated 2020-04-23Words 1.5kReading time 11m

简介

众所周知,生产环境的数据库、测试环境的数据库以及线上环境的数据库结构是一样的,但是在开发环境中,难免会遇到添加字段或者修改字段这种修改数据库表的操作,所以Yii 提供了一个 数据库迁移 功能,该功能可以记录数据库的变化, 以便使数据库和源代码一起受版本控制。

其实大概也就这些操作最熟悉不过了,其他具体请浏览Yii官方文档;不得不吐槽的是Yii2官网的实例少之又少,又因为在共同开发中需要用到数据库迁移,所以写这篇文章,后续有补充会在更新

数据库迁移之命名规则

  • 创建数据库表: create_tablename_{数据库表名}
  • 数据库表添加字段: add_column_to_{数据库表名}
  • 数据库表添加数据: add_auth_on_{数据库表名}
  • 数据库表删除字段: drop_xxx_from_{数据库表名}
  • 添加连接表: create_junction_xxx_and_yyy
Read more »

WSL

Posted 2020-01-12updated 2020-01-12Words 283Reading time 1m

Window安装和配置WSL

什么是WSL

Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 “Trusty Tahr”映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

说白了就是在Window上安装了一个Linux环境。我们把它默认为最好的Linux发行版:Win10+WSL

WSL(Windows Subsystem for Linux) 适用于Linux的Windows子系统

  1. 启用或关闭Window功能
    打开控制面板 -> 程序 -> 启动或关闭Window功能 -> 选“适用于Linux的Windows子系统”项 -> 之后重新启动Window电脑

只有开启这项设置才能正常安装WSL

  1. 安装WSL
    打开 Microsoft Store , 搜索 Linux选择Ubuntu,WSL里的Ubuntu自带git,vim,ssh等常用软件

打开 Ubuntu 就可以使用了,根据提示输入用户名,两次输入密码就可以看见熟悉的命令行

  1. 更换 apt 的数据源

TP5使用phpmailer发送邮件

Posted 2019-12-16updated 2019-12-17Words 718Reading time 5m

简介

phpMailer 是一个非常强大的php发送邮件类,可以设定发送邮件地址、回复地址、邮件主题、html网页,上传附件,并且使用起来非常方便。

开启STMP服务

QQ邮箱开启STMP服务

所有的主流邮箱都支持 SMTP 协议,但并非所有邮箱都默认开启,您可以在邮箱的设置里面手动开启。

第三方服务在提供了账号和密码之后就可以登录 SMTP 服务器,通过它来控制邮件的中转方式。

进去网页邮箱,点击设置->账户->开启IMAP服务
cc0e31445f32051fc31a84443644db2.png
一顿操作之后,就能看到授权码

Read more »

TP5实现二维码的生成

Posted 2019-12-13updated 2019-12-17Words 972Reading time 7m

二维码是使用非常广泛,本文用TP5实现二维码和logo的生成与设置及路径保存等

下载qr_code插件

  1. 下载composer
  2. 利用composer 下载 qr_code 插件
    composer require endroid/qr-code

我用的编译神器是PhpStorm ,所以在下面的Terminal中可以输入以上命令即可。如下图:
图片
完成后可以在 Vender/endroid/qr-code 下找到安装好的文件。

代码撰写

生成简单的二维码图

最简单的看到二维码的代码如下,运行就可以在网页上看到,手机扫描,直接访问输入的网址。如下 index 控制器下的 Index.php

Read more »

PHP会话控制

Posted 2019-12-04updated 2019-12-17Words 59Reading time 1m

会话控制的思想是在Web站点的单个会话中跟踪用户。可以支持用户登入后根据其身份验证级别或个人选项显示相应内容。还能记录用户行为。