vue webpack重写cookie路径

2019年7月8日 · 66 字 · 1 分钟

webpack提供的反向代理服务器在开发阶段非常方便,几行简单的代码配置就可以使用反向代理功能,包括路径重写、cookie处理等。 项目开发阶段使用的API路径是 /admin,部署到线上是/,所以在开发过程中需要在proxyTable进行反向代理配置,将路径重写掉,路径重写代码如下(config/index.js): proxyTable: { '/admin': { target: 'http://127.

druid SQL监控不显示问题

2019年7月8日 · 80 字 · 1 分钟

新版druid数据源驱动的SQL监控如果用以前的老版本配置是无法监控到SQL的: application.yml spring: datasource: druid: filters: - stat - wall - log4j 启动应用之后访问druid监控页面,除了SQL相关的页面都正常工作,但是访问SQL监控页面时没有看到SQL记录。 查看监控页面 数据源 菜单发现 filter类名 显示的是空,估计是filter配置有问题导致。

在Swoole环境下运行注入Yii2框架的thrift应用

2019年5月19日 · 8 字 · 1 分钟

前两天发布了使用swoole来运行thrift应用,项目虽然可以运行起来,但是周边的生态(如缓存,ORM,日志等等)并没有跟上,实际上开发体验比较差。周末研究了一下,把Yii2框架集成到了thrift应用上。 项目地址:https://github.com/swoole-foundation/yii2-swoole-thrift Yii2优势: 完美的OOP设计 大量开箱即用的组件(DB/Cache/Logger/RBAC等等) 组件化开发 扩展性 这些支持是提高thrift应用开发效率的保证,毕竟没有人会直接在生产环境下手写SQL不是?

在swoole上运行Yii2应用

2019年5月19日 · 27 字 · 1 分钟

Yii2:业界著名的开发框架,完美的OOP设计以及组件化开发思想保证了框架的扩展性。 Swoole:面向生产环境的 PHP 异步网络通信引擎。使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。

使用swoole来运行thrift应用

2019年5月16日 · 24 字 · 1 分钟

Swoole扩展简介 Swoole:面向生产环境的 PHP 异步网络通信引擎 使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

在缓存中使用闭包函数

2019年5月14日 · 81 字 · 1 分钟

闭包函数 PHP官方文档对于闭包函数的定义: 匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。

在事务中使用闭包函数简化开发

2019年5月14日 · 80 字 · 1 分钟

闭包函数 PHP官方文档对于闭包函数的定义: 匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。

使用systemd来构建你的服务

2019年2月28日 · 278 字 · 2 分钟

systemd是什么 Systemd 服务是一种以 .service 结尾的单元(unit)配置文件,用于控制由Systemd 控制或监视的进程。简单说,用于后台以守护精灵(daemon)的形式运行程序。

c语言实现简单版的php z_val结构体

2019年2月26日 · 227 字 · 2 分钟

源码 学习过PHP的人都知道PHP是基于C语言开发的,但是C语言是强类型的,PHP如何实现弱类型呢?答案在于这个 typedef union _zvalue_value { long lval; /* long value */ double dval; /* double value */ struct { char *val; int len; } str; HashTable *ht; /* hash table value */ zend_object_value obj; zend_ast *ast; } zvalue_value; struct _zval_struct { /* Variable information */ zvalue_value value; /* value */ zend_uint refcount__gc; zend_uchar type; /* active type */ zend_uchar is_ref__gc; }; type保存了实际的类型,而value这个共用体保存了具体的值,我们使用到变量的时候需要根据变量类型来取出**_zvalue_value中保存的具体值。 采用union能够避免内存浪费,同一时刻,一个_zval_struct中的共用体zvalue_value**只有一个成员会分配内存,避免了无谓的内存分配。