PHP异常处理中的黑科技

PHP异常处理中的黑科技  前面提到框架中是可以捕获所有的错误和异常的,之所以能实现应该是使用了黑科技,哈哈!其实也不是什么黑科技,主要是三个重要的函数:  1. set_error_handler()  看到这个名字估计就知道什么意思了,这个函数用于捕获错误,设置一个用户自定义的错误处理函数。  当程序出现错误的时候自动调用此方法,不过需要注意一下两点: 第一,如果存在该方法,相应的erro

- 阅读全文 -

2018年终个人总结

2019年了 今天是大年初一, 时间过得真快, 我都28了. 回忆2018年, 几个大事件.买房 (承德兴隆九龙城)跳槽信链 (畅聊 => 信链)场外项目上线资产服务项目上线Mysql 搓单项目 V1 上线内存 搓单项目 v2 待上线 (很遗憾)转岗去一十一五诶写的很多 大多都是工作的事情, 18年对于我个人成长非常重要的一年. 肯付出就可以得到回报, 不论收入还是技术成长上. 在信链得到了

- 阅读全文 -

Client Error #418: I'm a teapot!

ab 并发压测接口 提示抛错PHP Fatal error: Uncaught SwlibHttpExceptionClientException: Client Error #418: I'm a teapot! in /data/application/SwoHTTP 418 I'm a teapot 客户端错误响应代码表示服务器拒绝冲泡咖啡,因为它是一个茶壶。 这个错误是超文本咖啡壶控制协

- 阅读全文 -

Swoole ERROR swFactoryProcess_finish (ERROR 1004)

经常发现这个错误 虽然不影响线上服务, 但还是找下问题[2019-01-08 19:12:31 *1955.15] NOTICE swFactoryProcess_finish (ERROR 1004): send 511 byte failed, because connection[fd=13] is closed. 通过 swoole 论坛 : https://group.swoole.

- 阅读全文 -

crontab定时任务不执行的原因

今天真是长知识 用了 crontab 这么久 才知道原来也需要 启动添加了定时任务 但是并不好使[root@dev-gl-lh1 ApiAgent]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # For details see man 4 crontabs #

- 阅读全文 -

Python判断变量/list 字典 元素 是否存在

Python判断变量是否存在方法一:使用try: ... except NameError: ...。try: var except NameError: var_exists = False else: var_exists = True 方法二:使用locals()和globals()两个内置函数。locals() : 基于字典的访问局部变量的方式。键是变量名,值是变量

- 阅读全文 -

Tcp Rpc 踩坑实践

最近接到需求, 目前项目满足不了, 需要通过中间件实现. 经过讨论和分析, 最后打算 使用 swoole 构建一个 Tcp Rpc 服务. 正常的Rpc 轮子遍地都是 , 但是我们的需求很独特, 需要根据参数 将请求分配至指定 进程. 构建出一套同步堵塞的服务.场景举例: 修改用户A的资产, 通过参数 `uid` 分配器将 请求发送至固定 进程. 使得用户资产都在单进程内排队更新. 上面的场景是很

- 阅读全文 -

多层代理 获取真实IP 问题

多层代理 获取真实IP 问题百度一搜 一堆. 但大多都是通过 X-Forwarded-For 获取真实IP 原理就是 负载 LVS /EOB /SLB 为了让下游正常获取 客户端IP 会将 客户端IP 填充到 X-Forwarded-For 中传递给下游服务用户真实IP, 负载, 代理服务器1-IP, 代理服务器2-IP我们原来获取真实IP 直接就 逗号炸开 取第一个IP 问题来了 客户端请求头

- 阅读全文 -