php
文章平均质量分 63
dengjiexian
喜欢数据挖掘,喜欢人工智能,喜欢独立思考,自觉是个非主流
展开
-
解决thinkphp3.2中使用redis报错
当完成了php对redis的扩展之后。发现在ThinkPHP中按照如下方法使用redis会报错:$redis = new Redis();$redis->connect(‘127.0.0.1’,6379);报错:”无法加载缓存类型:127.0.0.1”原因如下:ThinkPHP 会根据命名空间的规则找到框架写好的Redis类(位置:Think\Cache\Dri原创 2016-11-05 20:11:42 · 19028 阅读 · 0 评论 -
如何使用php的hashtable
hash表(散列表)在我看来一直是个牛逼的设计,因为它时间复杂度为O(1)。简直是远离循环,减少耗时的神器。今天好好看了看hash表的实现原理,觉得其实是自己把大学期间的基础知识给忘得一干二净,不扯远了。1、hash表的原理:具体原理参见,http://zha-zi.iteye.com/blog/1124484 和 http://www.cnblogs.com/carbs/archiv原创 2016-11-05 22:43:45 · 15627 阅读 · 0 评论 -
php下载大文件的方法
假设一个场景:当用户需要通过我们提供的下载服务,来下载一个较大的文件(200M-2G)时,我们服务端应该如何来满足这个服务呢?且当我们的服务端是采用nginx+php的架构时,该如何解决呢。作为服务端接口层,我们需要从数据层(可能是云存储,可能是类似于亚马逊S3的存储服务)下载较大文件(200M--2G),然后将下载得到的文件,返回给请求客户端。且当我们的服务端接口层是采用ngin原创 2016-11-06 23:13:10 · 19719 阅读 · 2 评论 -
解决thinkphp关闭调试模式404报错问题
在使用Thinkphp框架进行开发项目,往往在上线之前,需要关闭调试模式,但这时候发现原本访问正常的网页,在关闭调试模式之后无法访问,报错404;问题回顾:当设置项目开启调试模式时:define('APP_DEBUG',True);访问服务:正常访问;关闭调试模式:define('APP_DEBUG',False);再次访问服务:访问失败;一般会得到下图:原创 2016-11-10 21:29:32 · 19908 阅读 · 4 评论 -
php异常处理基本方法
当一个php脚本运行时,为了防止脚本运行崩溃,亦或是当php作为webserver,为了防止php程序出错,抛出httpcode500错误,我们常常需要对php程序做异常处理。今天介绍的是最基本的异常处理方法:一般而言,当程序调用第三方库等操作时,有可能存在程序崩溃的风险,所以,可以在这部分代码逻辑层,添加异常处理机制。如下:try { $ret = $t原创 2016-11-22 17:28:31 · 9755 阅读 · 0 评论 -
thinkphp自定义404页面
使用EmptyController +_empty方法。当我们使用thinkphp框架对外提供服务时,如果不采取特殊配置,当一个请求没有访问到服务端资源,会直接返回404,并且由于thinkphp的特性,会返回一个带有thinkphp个性色彩的404页面。这样的页面至少有两点不太好:1、暴露了服务端的技术选型,给站点攻击者提供了直接的信息。2、页面反馈不友好原创 2016-11-22 17:55:46 · 8625 阅读 · 0 评论 -
php中使用hash_hmac函数实现HMAC-SHA1签名算法的来龙去脉
前言最近工作中频繁和其他部门甚至公司进行接口上的对接,不免接触到林林总总的签名验权算法。其中属HMAC-SHA1签名算法最多,刚开始接触的时候我也觉得有一点懵,慢慢搞清楚了原理,所以在这里跟大家如何理解这种签名算法中涉及到的各种各样的东西。扫盲:首先做个简单的扫盲1、md5(md家族)Message Digest Algorithm 缩写为MD,消息摘要算法,一种被广泛使用原创 2016-11-23 23:20:26 · 53378 阅读 · 0 评论