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

建电子商务网站需要多少钱网页设计的主要步骤

建电子商务网站需要多少钱,网页设计的主要步骤,邯郸网络,企业如何网络营销推广问题出现原因是想对项目中error级别的日志,接入钉钉告警,方便查看 于是使用钩子方法,日志写入完成后,自动调用自定义的告警方法中 1、在application/tags.php 中添加log_write_done > [app\\common\\behavior\\Common, ],2、在…

问题出现原因是想对项目中error级别的日志,接入钉钉告警,方便查看
于是使用钩子方法,日志写入完成后,自动调用自定义的告警方法中

1、在application/tags.php 中添加'log_write_done' => ['app\\common\\behavior\\Common',
],2、在 common/behavior/Common.php 中添加/**
* 记录日志的钩子方法,发送告警信息
* @param $log
* @return void
*/
public function logWriteDone($log)
{$level = '';if (isset($log['notice'])) {$level = 'notice';}if (isset($log['error'])) {$level = 'error';}if (isset($log['alert'])) {$level = 'alert';}//钉钉告警if (in_array($level, ['notice', 'error'])) {$method = '';if (isset($log['info'])) {foreach ($log['info'] as $value) {if (strpos($value, 'PARAM')) {$method = $value;}}}$data = $log[$level];$message = $method . "\r\n--------------------\r\n" . var_export($data, true);Notice::DingRobot($message, $level);}
}

在 Notice::DingRobot($message, $level); 中实现钉钉机器人推送消息代码,即可实现告警功能

但是在运行脚本的时候,发现程序会内存溢出直到崩溃,报错:

Allowed memory size of 536870912 bytes exhausted (tried to allocate 262144 bytes) in

正常调用是OK的,脚本调用会出现异常,百思不得其解,于是开启了漫长的debug过程。。。。。。
最后追框架源码,发现了问题原因

1、脚本运行时,因为会连接数据库,所以框架会打sql级别的日志

thinkphp/library/think/Log.php
在这里插入图片描述
2、打日志时先是执行到了这个魔术方法中,可以看到是调用了record方法
在这里插入图片描述
这一步很关键,注意看有个IS_CLI 这个是在命令行模式的时候为true
3、然后继续到save里面看
在这里插入图片描述
4、save记录完日志后,会执行钩子 log_write_done , 继续往Hook::listen 方法里面排查
在这里插入图片描述
可以看到这里是执行了exec方法
5、到exec里面看看
在这里插入图片描述
6、这一步很关键,可以看到调用完对应的钩子函数后,如果是debug模式,会继续打个record日志,于是流程就又回到了第一次,变成了死循环,这就是导致程序内存崩溃的原因

找到问题原因了,如何解决呢,可以确定是框架bug导致的,但是一般来说最好不要直接改框架源码,那么就从业务上面入手,通过上面的流程可以看出,首先是是 IS_CLI 执行大日志的操作,然后是debug模式为true时, 才会打record日志,那么可以在自定义的钩子函数中加上


public function logWriteDone($log)
{if (IS_CLI && App::$debug) {App::$debug = false;}//发送告警
}

如果是命令行模式下,把debug设置为false,那么就第六步判断的时候,debug为false,就不会进入死循环中了

问题是再命令行模式 + 本地debug模式打开的时候会出现,这个方法没有根本解决bug,是通过绕过的方式,解决了这个问题,如果有更好的解决方法,欢迎留言告知

http://www.yayakq.cn/news/686395/

相关文章:

  • 贵州网站开发网站开发表格
  • 自己做视频网站上传视频wordpress导出数据库
  • 中卫网站建设报价四川省省建设厅网站
  • 免费打广告平台有哪些网络优化seo招聘
  • 长安网站建设软件wordpress主题国人
  • 电子商务网站建设首页流程学院网站建设开题报告
  • 做新网站 备案证明交接镇海区住房和建设网站
  • 网站建设杭州公司wordpress图片设置水印
  • 淘宝电商怎么才能做起来搜索引擎优化seo多少钱
  • s吗网站虚拟主机沈阳企业黄页免费
  • 易动力建设网站怎么样在线免费网站模板
  • 上海网站改版哪家好北京怎么进行网页设计
  • 柳城企业网站建设公司尚硅谷python基础教程
  • 家具电商网站建设最新便民信息汇总
  • 大学生做简历的网站腾讯邮箱企业邮箱注册申请
  • 网络零售的优势有哪些昆明seo外包
  • 做网站一年需要多少钱简单网站建设 有教程视频
  • 钟表网站模板襄阳做网站公司电话
  • 制作网站电话私人app一键生成器
  • 卧龙区微网站建设佛山网站提升排名
  • 企业官网网站设计怎样重启网站服务器
  • 属于o2o的电商平台有哪些企业网站优化甲薇g71679做同等效果下拉词
  • 婚纱网站开发的必要性服务好的网站建设平台
  • 建材公司网站建设方案html菜鸟教程下载
  • 开发手机网站的步骤网站建设考试重点
  • 呈贡网站建设二学一做网站
  • 建个网站的电话南宁智慧园区网站建设
  • 北京网站备案号园林景观设计公司作品
  • 高端网站定制的方法开发公司对物业公司的补贴怎么开票
  • 中小企业网站建设服务公司wordpress子主题制作