当前位置: 首页 > wzjs >正文

电子政务与网站建设工作总结广东建工集团

电子政务与网站建设工作总结,广东建工集团,游戏推广怎么做,济南网站建设哪家强 资海因为项目需要,最近学习了使用Yii2框架的使用。但毕竟刚上手,好多地方都不清楚。所以就有了这个博客。 1、需求 有这么一个需求: 后台需要访问用户的一个界面。为了界面不出问题,需要传递一个真实存在的Token。但对这个Token没有…

因为项目需要,最近学习了使用Yii2框架的使用。但毕竟刚上手,好多地方都不清楚。所以就有了这个博客。

1、需求

有这么一个需求:

后台需要访问用户的一个界面。为了界面不出问题,需要传递一个真实存在的Token。但对这个Token没有任何限制。

这里就偷了个懒,毕竟Token没有任何的限制。因此,直接访问了Token库,并从中读取一个数据。读取完成后就直接发给前端了。

UsersToken::find()->one()['token'];

毕竟不是什么大需求,经过测试后没有问题就这么上线了。

2、 问题

明明测试环境没问题的

但问题来了。上线后接口反而由于某种原因报错了。报错倒是简单,没有任何的报错信息,而是直接返回504。

这实在不正常。由于项目配置好了错误处理,一旦报错,必然能返回错误响应。只要有错误响应,自然能够排查出问题。

经过一番排查无果,选择向运维大哥要一下报错日志。结果得到了这个:

Allow memory size of 526385152 bytes exhausted (tried to allocate 4096 bytes) in xxx/xxxxx/xxx/xxxxxx...

大致内容看懂了,内存爆了: (

仔细查看代码,其他的执行条件没有任何问题。而Token的查询也很简单,不是很像有能力出问题的样子。所以陷入了某种僵局。

3、排查

查了种种资料没能看到一个解决方法~~(废话,这么弱智的问题竟然还要查资料 )~~。后来不得以翻了翻源码。最终在one()方法中找到了这么一句话:

Executes query and returns a single row of result.

执行查询,并返回结果的第一条。

初见端倪。继续深入源码,翻到了执行的部分:
在这里插入图片描述

可以看到,在执行过程中,实际上是先执行了查询语句select * from user_token,得到了数组result。之后返回数组的第一条数据,也就是result[0]

4、原因

迎刃而解。由于在构建查询语句时,没有加上相应的限制。因此,将user_token表中的全部数据写入到了内存中。由于测试环境的数据比较少,因此没有出现问题。但正式环境中数据很多,超过了内存限制,这才出现了BUG。坑爹啊

5、解决

最后手动加上了限制,问题解决。

UsersToken::find()->limit(1)->one()['token'];
http://www.dtcms.com/wzjs/821325.html

相关文章:

  • 大自然的网站设计北京市朝阳区网站制作
  • 机器人网站建设沈阳网站开发培训
  • 如何制作企业网站网站制作公司价格
  • seo企业网站模板商丘企业网站建设团队
  • 手机net网站开发网站图片360度旋转怎么做的
  • 想学学做网站刘涛给孩子网站做的广告
  • 算命网站开发最新搜索关键词
  • 优惠券网站建设mit网站可以做app
  • 网站建设的主要功能有哪些昆明企业网站建设公司
  • 做域名跳转非法网站负什么责任微信小程序怎么注册申请
  • 谷歌网站开发客户wordpress怎样连接数据库连接
  • 家庭厨房做外卖网站免费装修设计软件哪个好
  • 个人网站制作dw电子政务服务网站建设
  • 企业首次建设网站的策划方案手机网站商城建设答辩
  • 商河网站建设wordpress导航怎么设置主页
  • 企业网站硬件方面建设北京网站的制作设计
  • 网站开发 土木网站维护一年一般多少钱
  • 申请了域名怎么做网站建设校园门户网站方案
  • 友好酒店网站建设方案书开发公司网签价格
  • 如何上传视频到公司网站龙华、宝安最新通告
  • portfolio做网站rp网站自动跳转图片怎么做
  • 张家界做旅游网站中国建筑机械网
  • 娱乐网站建设网站制作 常见问题
  • 如何提高景区旅游网站建设科普类网站怎么做
  • dw可以做有后台的网站么上海建设工程协会网站
  • 企业网站手机端和pc端一个后台吗营销型网站建设xywlcn
  • 外贸网站做排名做一个关于电影的网页设计
  • 网站建设教程浩森宇特郑州做网站网络公司
  • 东莞网站域名注册山东平台网站建设平台
  • 福田做网站需要多少钱做标书有哪些网站能接到