在线聊天的实现方案有很多,像Ajax长短轮循、富客户端、HTTP长连接、HTML5的event source和websocket等。目前来看HTML5的websocket比较具有优势,对于不支持H5的浏览器可以忽略或者采用兼容的形式来实现。接下来提到的nginx-push-stream-modu...
  有时我们需要在现有的web服务器上增加新的模块实现更为丰富的功能,Nginx算是比较常用的web服务器,但是nginx也不仅仅只可以做web服务器,只要有对应的插件还可用作反向代理、即时通讯、文件下载、流媒体服务等功能,如果已经安装好了Nginx有不想重新安装覆盖的前提下如何新增模块呢?下面通过...
  很多云服务器(如阿里云)没有开启swap交换分区,安装某些比较占用内存的服务(例如MySQL5.7+、gitlab等)时如果物理内存不够则会安装失败,一种解决方案是购买更大的内存,另一种方案是可以设置交换分区,下面就以阿里云CentOS为例介绍一下增加交换分区的方法。首先创建一个文件用于swap...
  我们知道COOKIE保存在客户端,但是我们在设置和读取COOKIE的时候几乎无论使用什么语言编程都是在服务器端操作的,原理是通过HTTP的header传输信息。其实客户端的脚本语言JavaScript也是可以操作COOKIE的,默认情况下服务器端设置的COOKIE数据也是可以操作的,下面给出封装...
  pclzip可以将文件或文件夹压缩成zip格式的压缩文件,感觉还是比较好用的,可以满足线上对文件打包或者对压缩包进行解压的需求。下面给出几个例子和下载地址://压缩文件代码 require_once('pclzip.lib.php'); $zip = new Pcl...
  因为支付宝支付接口只有企业身份才能申请,但是由于种种原因个人开发者没有企业资质无法申请到支付接口权限,这也是很多开发者遇到的问题。在之前推出了支付宝支付接口开发系列课程之后也遇到了很多开发者的反馈:没有企业账号无法开发。  其实个人账号也可以进行支付宝支付接口调试的,那就是利用支付宝提供的沙箱环...
  首先需要安装Xdebug,如果没有安装可以查看PHP断点调试工具Xdebug的安装这篇文章。phpStorm是开发者经常用的一款编辑器,当然也支持Xdebug调试,下面说一下配置步骤。  phpStorm不需要安装插件所以配置起来比较简单,编辑器上依次打开文件->设置(或者Ctrl+Alt...
  首先需要安装Xdebug,如果没有安装可以查看PHP断点调试工具Xdebug的安装这篇文章。sublime text是开发者经常用的一款轻量级编辑器,在Xdebug调试上也是支持的,下面说一下配置步骤。首先需要安装sublime的xdebug插件,可以在线安装,但是在线安装可能会因为版本或者网络...
  Xdebug是一个PHP程序调试器,可以用来跟踪,调试和分析PHP程序的运行状况。其实调试PHP还有其他工具比如Zend Debugger,但zend官方不是免费发布的,后来更新为zend Server也是收费版。而Xdebug是完全免费的并且功能也不差。其实xdebug可以看做PHP的扩展,如...
视频观看地址:https://www.liminghulian.com/course/1/learn/169  本节讲解for循环的使用,上节课讲解的while循环主要是应用在循环次数不确定的前提下,而for循环主要应用在循环次数确定的前提下,本节课讲解了for循环的执行流程,并且应用了一个输出表格...
  视频观看地址:https://www.liminghulian.com/course/1/learn/21  本节课讲解程序中的循环结构,在以前讲解的选择结构不足以满足更为复杂的需求,而加上循环结构就可以实现复杂的程序(早在1966 年,Bohm 与 Jacopini 就证明了任何单入口单出口的...
  CURL请求,支持GET和POST两种方式,默认为GET方式,如果传第二个参数则为POST方式请求,设置了超时时间,避免程序卡死。/** 使用curl方式实现get或post请求 @param $url 请求的url地址 @param $data 发送的post数据 如果为空则为get方式...
  在使用PHP对含有中文的数据进行json_encode编码时中文数据会被unicode编码导致中文变成类似"\u9ece\u660e\u4e92\u8054"的编码,有时需要处理转换才可以达到想要的目的。  其实json_encode函数还有第二个参数,如果第二个参数使用JS...
视频观看地址:https://www.liminghulian.com/course/1/learn/145  本节课会讲解PHP手册的使用,会以PHP中的日期处理函数为例,讲解查阅手册的方式。会讲解到函数的返回值(也就是函数的执行结果),函数会拆分为函数名和参数,多个参数用逗号隔开,同时讲解到函数...
视频观看地址:https://www.liminghulian.com/course/1/learn/20  本节课会讲解流程控制中的选择结构,其实流程控制并不是PHP特有的,这在编程语言中几乎都是相同的。程序默认是从上往下执行,但是有时我们可能需要根据不同的情况执行不同的代码做不同的事情,这就需要...
视频观看地址:https://www.liminghulian.com/course/1/learn/19  本节内容会讲解如何在编辑器中的内置的浏览器,因为在以前写代码调试的时候需要每次写完代码后保存然后切换到浏览器端刷新,这样每次都在编辑器和浏览器之间切换,调试起来比较繁琐。如果设置了编辑器内置...
视频观看地址:https://www.liminghulian.com/course/1/learn/18  本节课介绍运算符的使用,以后要写程序,程序中一定会做处理和运算,本节课会介绍以下几个运算符算数运算符(+ - * / %) 主要用作加减乘除和取模运算;递增递减运算符(++ --) 可用于变...
  在移动端上传图片的时候通常会将图片转换成base64格式的字符串提交,所以此时需要使用服务器端的程序进行转换成二进制的数据。如下PHP代码实现了图片文件和base64格式的图片字符串相互转换的方法,同时保证了图片字符串转图片文件时数据类型的问题,进行了简单的封装,使用时可根据实际情况进行修改。具...
  使用RSA算法除了加密解密之外(加密解密的代码可以查看本站PHP使用RSA算法加密解密数据 这篇文章),在支付等接口方面通常还会用到生成签名和验证签名操作,下面是PHP代码:class RSA{ /** * RSA签名 * @param $data 待签名数据 * ...
本文提供使用RSA算法加密解密数据的PHP程序类(签名和验签的实现方式可以查看使用PHP实现RSA算法的签名和验签 这篇文章),封装了格式化公钥和私钥文件的方法,这样无论使用什么格式的公钥或者私钥都可以正常运行,公钥加密后使用私钥解密或者私钥加密后用公钥解密都可以实现。下面是代码:class RSA...