今天在解决一个导出Excel乱码问题时,定位到的原因让我很无语,居然是include了一个php配置文件。 但是为什么一include,就出现了换行呢? 最后总结如下: 1.UTF-8文件有两种模式,一种是UTF-8 无BOM 类型 ,一种 … 继续阅读 PHP中使用include会多出空格或者换行的情况
分类: PHP
用EasySwoole向WebSocket端Push消息时报“the connected client of connection[1] is not a websocket client”错误
最近在研究学习Swoole和EasySwoole。 按照EasySwoole中的例子,写了WebsocketController,会响应到一个Html页面,这个Html页面中的Js会连接WebSocket。 <html> < … 继续阅读 用EasySwoole向WebSocket端Push消息时报“the connected client of connection[1] is not a websocket client”错误
PHP中使用OPENSSL_ENCRYPT代替MCRYPT_ENCRYPT实现JS加密PHP解密的方法
项目背景 因为自己开发的接口希望在传递的工程中可以保证参数是密文的形式,主要是前端使用js加密,后端使用php解密 在网络上搜索了很多的方法,但是大部分的都是使用mcrypt_decrypt和mcrypt_encrypt进行php端的加解密 … 继续阅读 PHP中使用OPENSSL_ENCRYPT代替MCRYPT_ENCRYPT实现JS加密PHP解密的方法
ThinkPhp3.2中的not in Bug
有时候在一些比较老的系统中做开发,用的thinkphp3.2框架。 不得不说,thinkphp有它的优点 ,但也发现了不少缺陷。比如今天说的,就是进行sql查询时的bug。 thinkphp支持where函数传入查询条件,当我要查询id在, … 继续阅读 ThinkPhp3.2中的not in Bug
Laravel中使用Pusher的一个暗坑
最近在研究Laravel中的事件广播系统,就拿Pusher作为驱动器来练练手,结果调入了各种坑中。 遇到过环境变量加载不到的问题,可能和中间使用过 php artisan config:cache和php artisan config:cl … 继续阅读 Laravel中使用Pusher的一个暗坑
Laravel中的too many attempts
在使用Laravel框架做Api Server的时候,你可能会遇到“429”状态,提示内容为“Too many attempts”。 这是因为Laravel从5.2开始,增加了一个Throttle的中间件。如果你仔细看一下Kernel.ph … 继续阅读 Laravel中的too many attempts
OPcache影响线上发布问题
故事背景 公司服务器用的是Nginx,比如A项目的root目录是a,a目录软链到a1。 发布新版本代码后,会生成和a1同级的a2,a1和a2分别代表不通的发布版本,只需要将a目录的软链指到a2即可。 但是我们发现一个很奇怪的问题: 在访问A … 继续阅读 OPcache影响线上发布问题
Laravel中通过Request获取Controller和Action
最近有个工作任务,是在Laravel项目中增加ACL权限控制。 所谓ACL权限控制,就是对控制器和Action进行控制访问,当然我觉得这种权限控制思想没有RBAC灵活。 在Laravel中要增加权限拦截,自然是增加中间件来控制。 所以我在K … 继续阅读 Laravel中通过Request获取Controller和Action
Laravel支持通过token来获取用户登录信息
现在很多公司都在做前后端分离,而通过Api来判断用户是否登录,则是通过Token的形式。 Laravel自带的获取用户信息逻辑,是需要数据库中有一张User表。而目前很多公司的做法是,应用系统并没有这样的User表,User数据是记录在Pa … 继续阅读 Laravel支持通过token来获取用户登录信息
OAuth2.0的简化模式和授权码模式不冲突吗?
最近在学习OAuth2.0,对这个没有概念的人可以看看阮一峰的博客:理解OAuth2.0 其中最常用的两种模式,就是授权码模式,和简化模式。 很多人都会问,为什么授权码模式中,需要返回一次授权码,然后还要再拿着授权码再去请求服务器,才能拿到 … 继续阅读 OAuth2.0的简化模式和授权码模式不冲突吗?