小天天天天 PHP 999+ 2019-04-01 09:31:14
SSE(server-sentevent)是基于HTML5的服务器推送消息事件,它允许服务端单向向浏览器客户端发送数据,SSE使用流信息向浏览器推送信息,浏览器自动接收服务端推送过来的消息,它是基于HTTP协议。SSE与WebSocket作用相似,都是建立浏览器与服务器之间的通信渠道,然后服务器向浏览器推送信息。但是WebSocket比SSE强大很多,SSE只能作为一个轻量级的消息推送方案,解决了从服务端向客户端单向推送消息的场景,而W
小天天天天 PHP 999+ 2019-03-27 16:46:34
前言在项目开发过程中,为了保证传输数据的安全性,我们经常要对传输的内容进行加密处理,以增加别人破解的成本。常用的加密算法有很多,今天我们先围绕AES加密算法进行一个使用总结AES算法介绍AES是高级加密标准(AdvancedEncryptionStandard)的缩写,在密码学中又被称为Rijndael加密法,如果想对AES的背景有更多的了解可以移步到维基百科-高级加密标准AES加密时需要统一四个参数:密钥长度(KeySize)加密模式
小天天天天 PHP 999+ 2019-03-17 17:48:17
Redis作为一个开源的(BSD)基于内存的高性能存储系统,已经被各大互联网公司广泛使用,并且有着诸多的应用场景。本篇文章将基于PHP来详细讲解Redis在Web项目中的主要应用与实践。缓存这里所介绍的缓存是指可以丢失或过期的数据。常用的命令有 set, hset, get, hget,使用redis作为缓存时需要注意一下几个问题:由于redis的可用内存是有限的,不能容忍redis内存的无限增长
小天天天天 PHP 999+ 2019-02-08 04:28:31
PHP内置的绘画存储机制是把全部的会话数据保存在服务器上的文本文件里面,这些文件通常都是保存在服务器上的临时目录里。如果并发量大,读写效率非常低。而Redis对高并发的支持非常好,所以,可以使用redis替代文件存储session。session_set_save_handler函数PHP的session_set_save_handler函数用来定义用户级session保存函数(如打开、关闭、写入等)。原型如下:boolsession_
小天天天天 PHP 999+ 2019-01-23 19:01:17
1.生成密钥和公钥 开始前需要准备openssl环境 linux需要安装openssl工具包,传送门http://www.openssl.org/source/ window下需要安装openssl的程序,传送门http://slproweb.com/products/Win32OpenSSL.html 如果不想安装,可以用本例提供的密钥和公钥进行测试。 密钥生成 openss
小天天天天 PHP 999+ 2019-01-03 01:22:22
平时我们上传文件使用的是HTTP方式上传,今天我来给大家分享一下使用HTML5的websocket方式上传文件,后端使用Swoole的Websocket模块接收处理客户端上传的数据并保存为文件。本文实例是一个基础实例,后面我会专门给大家讲解更复杂更实战的文件上传实例。服务端我们继续使用Swoole实验室:1-使用Composer构建项目构建好的项目,新建文件\src\App\Uploader.php:<?phpnamespace
小天天天天 PHP 999+ 2019-01-03 01:18:26
Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。Guzzle提供了简单的接口,构建查询语句、POST请求、分流上传下载大文件、使用HTTPcookies、上传JSON数据等等。安装使用Composer安装:composerrequireguzzlehttp/guzzle或者编辑项目的composer.json文件,添加Guzzle作为依赖:{"require":{"guzzlehttp
小天天天天 PHP 999+ 2018-12-16 01:59:37
在服务器与终端设备进行HTTP通讯时,常常会被网络抓包、反编译(Android APK反编译工具)等技术得到HTTP通讯接口地址和参数。为了确保信息的安全,我们采用AES+RSA组合的方式进行接口参数加密和解密。1.关于RSA加密机制:公钥用于对数据进行加密,私钥对数据进行解密,两者不可逆。公钥和私钥是同时生成的,一一对应。比如:A拥有公钥,B拥有公钥和私钥。A将数据通过公钥进行加密后,发送密文给B,B可以通过私钥和公钥进行解
小天天天天 PHP 999+ 2018-12-06 23:47:43
由于公司最近使用Laravel-admin做后台,接触了下Laravel框架,不得不说,Laravel社区的力量以及生态确实挺强大。 但是公司内部业务都处于Java端,后台全部都是调JavaApi,因此使用Laravel的特性就得大打折扣了,首先Eloquent模型完全不能用,我这边把业务分开来,只存了3张表,这是Laravel-admin自带的表。Laravel-admin带了9张表,由于用户登录业务全保存在Api端,自带的表功能被
小天天天天 PHP 999+ 2018-12-02 03:58:34
项目开发中,如果有定时任务的业务要求,我们会使用linux的crontab来解决,但是它的最小粒度是分钟级别,如果要求粒度是秒级别的,甚至毫秒级别的,crontab就无法满足,值得庆幸的是swoole提供的强大的毫秒定时器。应用场景举例我们可能会遇到这样的场景:场景一:每隔30秒获取一次本机内存使用率场景二:2分钟后执行报表发送任务场景三:每天凌晨2点钟定时请求第三方接口,如果接口有数据返回则停止任务,如果接口由于某种原因没有响应或者没
小天天天天 PHP 999+ 2018-11-15 12:26:11
吐槽这一点还是android比较好,使用androidstudio不用配置调试,直接加断点就可以了。 1.去官网下载xdebug,注意根据自己的PHP版本来选择官网下载地址:https://xdebug.org/download.php2.配置php.ini[XDebug]xdebug.profiler_output_dir="D:\phpStudy\tmp\xdebug"xdebug.trace_output_dir="
小天天天天 PHP 999+ 2018-11-06 11:42:54
predis操作大全//使用autoload加载相关库,这边重点就是为了require$file;spl_autoload_register(function($class){ $file=__DIR__.'/lib/Predis/'.$class.'.php'; if(file_exists($file)){ require$file;
小天天天天 PHP 999+ 2018-10-22 09:49:31
我们把Swoole主服务程序做成系统服务后,这个服务一般是在后台运行的,如我们之前的邮件服务和聊天服务,我们希望把这些服务添加到系统环境中,可以随机器自启动,可以管理swoole服务的启动、停止和重启服务。前言我们在之前的Swoole实验室中的几个例子中,如果要启动swoole服务,需要手动执行代码如:phpchatServer.php,这样就启动了聊天服务端。那如果我们要停止Swoole服务呢?我们可以使用kill-9<pid&
小天天天天 PHP 999+ 2018-10-22 09:47:31
在线web聊天功能是基于WebSocket协议实现的,Swoole从1.7.9开始就增加了内置的WebSocket服务器支持,通过几行PHP代码就可以写出一个异步非阻塞多进程的WebSocket服务器。今天我给大家讲解如何使用Swoole实现一个简易的聊天功能。准备请按照本站Swoole系列文章:Swoole实验室,搭建好项目,并安装Swoole扩展。Swoole版本建议在1.8+,当然2.x,4.0都可以。如果您是新访客,请先参考本站
小天天天天 PHP 999+ 2018-09-29 10:15:10
PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及可以添加附件发送,并不像PHP本身mail()函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件发送功能。本文将结合实例代码,讲解如何设置和实现发送HTML以及带附件的邮件功能。首先,您可以到PHPMailer:http://code.google.com/a/apache-extras.org/p/phpmailer/获取最新的下载
小天天天天 PHP 999+ 2018-09-29 10:13:06
在上一节中我们介绍了使用Swoole发送单个邮件,那么如果是大量的邮件需要发送,比如给2万个用户发送优惠活动邮件,这是一个比较耗时的过程,而PHP本身不适合处理这种耗时多任务场景。本节为给大家介绍使用Swoole+Redis来实现发送批量邮件的例子。建立任务接上一节代码,编辑src/App/Mail.php文件代码,在publicfunctiononTask()方法中增加批量队列发送邮件的代码:publicfunctiononTask
网站文章数:483
今日UV/PV/IP:6/6/6
昨日UV/PV/IP:19/22 /19