2020年9月3日

Swoole从入门到入土(3)——TCP服务器[基本配置项]

摘要: 在这一节的开篇,让我们先解决上一节的“配置”话题。对于server对象,有很多配置项决定了服务端的行为,可以用set的函数进行配置的设置。 1、函数set:用于设置运行时的各项参数。服务器启动后通过 $serv->setting 来访问 Server->set 方法设置的参数数组。 Swoole\S 阅读全文

posted @ 2020-09-03 21:50 咚..咚 阅读(770) 评论(0) 推荐(0) 编辑

2020年9月2日

Swoole从入门到入土(2)——TCP服务器[初步接触]

摘要: 我们知道Swoole弥补了PHP没办法实现长连接的短板,在接下来的话题中,我们会从TCP服务器、HTTP服务器、WebSocket服务器、协程、管道、中间件等话题,一个个进行讨论。 1、开篇 我们以Swoole一个最简单的例子作为开篇: //创建Server对象,监听 127.0.0.1:9501 阅读全文

posted @ 2020-09-02 21:51 咚..咚 阅读(644) 评论(0) 推荐(0) 编辑

2020年8月10日

Swoole从入门到入土(1)——入坑

摘要: 入坑一个话题,总得有入坑的理由。有好多话题可供选择,但是思来想去,对于PHPer进阶与其急着去掌握一门新的语言,匆忙地踏足一个新的知识体系,还不如先把php圈子的技能点攒齐了。 话说Swoole诞生之前,php是世界上最好的语言。但很可惜php语言无法支持长连接,始终是个遗憾。而自从Swoole诞生 阅读全文

posted @ 2020-08-10 22:51 咚..咚 阅读(498) 评论(0) 推荐(0) 编辑

2020年8月7日

Laravel入坑指南(番外)——任务调度

摘要: Laravel提供了非常强劲的命令行工具(如果还不了解,传送到第8往篇),我们如果想要定期执行某个命令行,可以利用crontab进行定时设置。如果有多个定期的任务,很简单,我们设定多条crontab规则在不同时间段内调度不同的命令即可。 而Laravel框架内部也提供了这样的调度机制。(当然,还是逃 阅读全文

posted @ 2020-08-07 21:36 咚..咚 阅读(928) 评论(0) 推荐(0) 编辑

2020年8月5日

Laravel入坑指南(12)——最终章:Session、缓存与Redis

摘要: 因为web服务除了业务准确之外,我们最关注的就是服务的性能。鉴于web服务几乎都是IO密集型,我们为了提高IO的速度,自然不能把所有的数据都放在关系型数据库中。而redis的并发与性能可以很好地帮我们解决这个问题,并且php语言对redis接口是非常友好的,所以redis就自然而然成为我们关注的焦点 阅读全文

posted @ 2020-08-05 17:03 咚..咚 阅读(1438) 评论(0) 推荐(0) 编辑

2020年8月4日

Laravel入坑指南(11)——列队

摘要: 很高兴,我们来到了Laravel入坑指南的第11篇。这一系列的文章已经接近尾声了,在这一节里面,我们一起讨论列队的用法。 列队,顾名思义,将需要处理的任务一个一个排好队,等待处理程序来处理。这机的列队机制,适用于需要异步处理的任务。 所以在这里,我们首先需要关注三个问题:谁来投递任务?将任务投递到哪 阅读全文

posted @ 2020-08-04 23:43 咚..咚 阅读(442) 评论(0) 推荐(0) 编辑

2020年8月3日

Laravel入坑指南(10)——事件Event

摘要: 不知不觉,我们已经来到了第10小节。这一小节,我们一起讨论关于“事件”这个话题。众所周知,从二进制到汇编,再到高等级语言,这一路发展下来,代码都是顺序执行的,那么事件是什么?这个事件上本没有事件,纠结的人多了也就有了事件。 如果你也是编程界的泥石流,你就会发现事件发源于消息(或者信号),当代码执行到 阅读全文

posted @ 2020-08-03 11:56 咚..咚 阅读(391) 评论(0) 推荐(0) 编辑

2020年8月1日

PHP代码混淆与加密——php screw plus

摘要: php是一个开源的、广受欢迎的语言,php应用常常是以代码明文的方式发布,但是有时候对于发布的代码我们想要进行保护,需要对php代码进行混淆与加密,让增加破解者的逆向难度,从而达到保护自己成果的目的。 在市面上流行的加密方案非常多,比如: Zend Guard:遗憾的是不支持PHP7 IonCube 阅读全文

posted @ 2020-08-01 21:25 咚..咚 阅读(4214) 评论(0) 推荐(0) 编辑

2020年7月27日

Laravel入坑指南(9)——数据迁移与填充

摘要: 当我们开发完成一个(小)项目,发布到线上时,我们需要将本地数据库迁移到服务器上,并且填充初始化数据。而Laravel框架规定了一套完善的数据迁移与填充机制。 在官网中分别介绍了以下四个命令: php artisan make:migration php artisan migrate php art 阅读全文

posted @ 2020-07-27 11:45 咚..咚 阅读(626) 评论(0) 推荐(0) 编辑

2020年7月26日

Laravel入坑指南(8)——控制台程序

摘要: 我们知道,php代码不仅可以用web的形式对外提供服务,同时也可以在命令行下执行。 对于原生的php来说,假设我们有一个php文件,名为Command.php,如果想要在控制台下执行这个文件,那么我们有两种办法: 方法一:(适用于Windows和Linux) php Command.php #如果$ 阅读全文

posted @ 2020-07-26 22:47 咚..咚 阅读(434) 评论(0) 推荐(0) 编辑

2020年7月24日

Laravel入坑指南(7)——中间件Middleware

摘要: Laravel框架中引入了“中间件”这个概念,笔者觉得不是太合适。这里的Middleware和Java Servlet中的过滤器(Filter)就是一个东西,但是想比之下Filter这个词更容易理解一些。当然,为了入乡随俗,我们在这里也称这东西为“中间件”。 中间件的作用其实很简单,很明了:在业务行 阅读全文

posted @ 2020-07-24 14:47 咚..咚 阅读(978) 评论(0) 推荐(0) 编辑

2020年7月23日

Laravel入坑指南(6)——Redis缓存

摘要: 写在前面: Redis是常用nosql服务之一,在Redis官网上最新的稳定版本是6.0.6。这里不讨论Redis服务如何编译,如何使用。在Redis官网有很健全的文档。 这里要讨论的是无论在centos6还是在centos7下,编译Redis 6+版本都会看到一堆很魔性的报错redisServer 阅读全文

posted @ 2020-07-23 16:34 咚..咚 阅读(867) 评论(0) 推荐(0) 编辑

Laravel入坑指南(5)——请求与响应

摘要: 作为互联网典型的Web应用,接收用户请求的数据,并将处理的结果向用户进行响应,是最基础也是最必备的功能。在原生的PHP中,我们常用$_POST、$_GET、$_REQUEST和$_FILES对不同的请求接收,也用echo、var_export()、printf()等语句向用户进行响应。 在Larav 阅读全文

posted @ 2020-07-23 09:34 咚..咚 阅读(370) 评论(0) 推荐(0) 编辑

2020年7月22日

Laravel入坑指南(4)——数据库(Mysql)

摘要: 来来来,新的一节出炉了。这一节大家一起了解,Laravel如何对Mysql进行CURD。 我们回顾一下,PHP操作Mysql无非就是通过五个要素:host(地址)、username(用户名)、password(密码)、database(数据库名)和charset(字符集),就可以连接并操作数据库了。 阅读全文

posted @ 2020-07-22 10:15 咚..咚 阅读(367) 评论(0) 推荐(0) 编辑

2020年7月15日

CentOS7 开机网卡加载失败

摘要: 服务器CentOS7一开,发现web服务无法访问。最终用ifconfig发现,网卡没有加载,连个IP地址都没有。 这时使用命令 service network restart 试图重启服务器网络。不料服务器报了如下错误: Job for network.service failed because 阅读全文

posted @ 2020-07-15 11:58 咚..咚 阅读(504) 评论(0) 推荐(0) 编辑

Laravel入坑指南(3)——模板

摘要: 各位小伙伴有缘聚到这里,说明对于Laravel的路由和控制器已经有点了解了。 会写业务逻辑之后,如何把结果漂亮地展示出来,就是我们要解决的问题。(前后端分离的同学,请自动忽略)在MVC的世界里,漂亮的界面叫模板,书面化叫“视图”(这么叫高端一点),翻译成英文就是View,Laravel里也不例外。对 阅读全文

posted @ 2020-07-15 09:45 咚..咚 阅读(372) 评论(0) 推荐(0) 编辑

2020年7月14日

用Canvas定时显示摄像头捕获的画像(HTML5)

摘要: 需要实现一个功能,大意嘛,就是标题写的那个意思。虽然用户只要求在微信中实现即可,也就是可以用JSSDK。但是前端小哥哥脑袋一根筋,就想用原生的H5和JS实现。 网上铺天盖地的资料,可惜没有一个是可以用的。对,你没看错,都是相互抄袭,都没验证一下。 托前端小哥哥的福,把demo代码完成。代码就寥寥几行 阅读全文

posted @ 2020-07-14 21:22 咚..咚 阅读(622) 评论(0) 推荐(0) 编辑

Laravel入坑指南(2)——路由、控制器

摘要: 接上一节,我们已经把Laravel有Hello World项目跑起来了。 现在各位小友最着急的,应该是想了解,我们怎么在“页面”echo一个自己的Hello World字符串。 “页面”这个概念,是源于web1.0;那时候,web服务器根据用户申请的URL,去寻找服务器上对应的文件,把文件内容输出到 阅读全文

posted @ 2020-07-14 09:36 咚..咚 阅读(293) 评论(0) 推荐(0) 编辑

2020年7月13日

Laravel入坑指南(1)——Hello World

摘要: 接触PHP已经挺长一段时间了,一直对这个世界上最好的语言情有独钟。用熟练了之后,发现PHP不仅是天下第一,而且是宇宙第一。但是自从Laravel诞生之后,博主一直对Laravel有莫名的抵触,觉得这个框架就是JAVA SSM的山寨货,一直好感缺缺。最近觉得自己应该静下心做点事情,就把Laravel拿 阅读全文

posted @ 2020-07-13 10:15 咚..咚 阅读(511) 评论(0) 推荐(0) 编辑

2020年3月18日

关于php redis的geocoding函数

摘要: 在php的redis扩展官方github上,文档的最下面的确存在geocoding的函数说明。但是笔者尝试调用geoAdd函数时,返回值一直为false。就纳闷了,是使用的姿势不对,还是存在其它问题?所以,笔者确认了本地的php扩展版本与redis-server的版本,均为5.0以上,版本无误 。接 阅读全文

posted @ 2020-03-18 10:29 咚..咚 阅读(212) 评论(0) 推荐(0) 编辑

导航