随笔分类 -  PHP

这里记录一些PHP的使用小技巧
摘要:背景:最近双十一活动,修改了新的下单方法,遇到了一个问题困扰了好几天,用户在微信环境下使用JSAPI方式付完款后,显示如下图: 寻找问题根源比较曲折,不是所有的用户都不能付款,只有少部分用户不能付款,问了一下用户,用户反馈用绑定的邮政和浦发银行的卡支付是不行的 一边自己找原因,一边问内部的人是什么原 阅读全文
posted @ 2019-11-12 21:54 liugx 阅读(13931) 评论(0) 推荐(0)
摘要:liugx@MacBook-Pro  ~/work/php/ext_source/php-xhprof-extension   master  make installmkdir: /usr/local/Cellar/php@7.1/7.1.25/pecl: File existsmkdir 阅读全文
posted @ 2019-06-20 22:00 liugx 阅读(3577) 评论(0) 推荐(0)
摘要:再次看这本书,顺手提炼了一下大致目录,以便后续看见目录就知道大概讲的些什么内容 PHP 核心技术与最佳实践 1、面向对象思想的核心概念 2、面向对象的设计原则 3、正则表达式基础与应用 4、PHP网络技术及应用 5、PHP 与数据库基础 6、PHP 模板引擎的原理与实践 7、PHP 扩展开发 8、缓 阅读全文
posted @ 2018-11-09 12:39 liugx 阅读(509) 评论(1) 推荐(0)
摘要:开发中经常遇到函数参数传递的问题;比如 A调用B,B调用C,C调用D, A->B->C->D 而D方法可能需要一个参数,这个参数只能在A中获取(比如A是控制器方法),这个参数这样一级一级的传递下去就会显得非常冗余,Java中有 ThreadLocal 这样的用法。 PHP 可以这样用: 利用类的 s 阅读全文
posted @ 2018-11-07 13:26 liugx 阅读(488) 评论(0) 推荐(0)
摘要:如果开发中发现,从表单中传递上来的表单名称后端接不到值,不要惊慌,很有可能是表单名称中带有特殊字符(.和空格) PHP接收参数时,发现表单名中如果是 句号(.)或者空格( ),会被转换成下划线(_) PHP 官方文档有描述这一点 http://php.net/manual/zh/language.v 阅读全文
posted @ 2018-09-26 19:18 liugx 阅读(1326) 评论(0) 推荐(0)
摘要:先起一个 Sidecar 服务,一个PHP服务一个应用,和PHP服务部署在同一台机子,通过 localhost 访问,这样就解决了网络开销,相当于本地进程间调用 Sidecar 服务比较简单, 1、这里记录下 maven 的配置 <?xml version="1.0" encoding="UTF-8 阅读全文
posted @ 2018-09-09 16:51 liugx 阅读(8221) 评论(1) 推荐(0)
摘要:读了NGINX的access日志,bnb_manage_access.log(31M) 和 bnb_wechat_access.log(50M) 附上代码: 阅读全文
posted @ 2018-08-03 16:51 liugx 阅读(1127) 评论(0) 推荐(0)
摘要:看PHP 设计模式 原型模式(Prototype)时,衍生出一个扩展问题之 原型拷贝的浅拷贝和深拷贝问题(不管写Java还是写PHP还是写JS时都多多少少遇到过对象拷贝问题) 比如写前端页面时,我有一个form表单的数据对象,假如这个对象既拿来做表单数据的展示,又会在保存时发送给后端,有一个时间字段 阅读全文
posted @ 2018-07-05 13:28 liugx 阅读(182) 评论(0) 推荐(0)
摘要:1、 如何安装PHPunit,这里不展述(如需打断点debug测试,安装PHP的xdebug扩展方法也不展开说了 https://xdebug.org/) 2、如何进行配置 以 PHP设计模式的代码为例 https://github.com/domnikl/DesignPatternsPHP.git 阅读全文
posted @ 2018-07-04 19:18 liugx 阅读(378) 评论(0) 推荐(0)
摘要:得益于PHP的强大的内置数组函数array_column();array_combine(); 举个小栗子: 阅读全文
posted @ 2018-06-21 12:02 liugx 阅读(666) 评论(0) 推荐(0)
摘要:最近做一个新需求,用户发布了动态,前台需要查询,为了用户读取信息响应速度更快(MySQL很难实现或者说实现起来很慢),所以在用户动态发布成功后,利用消息机制异步构建 redis缓存 和 elasticsearch索引 。 开发环境 rabbitMQ服务端,docker安装 消息生产端(PHP): 应 阅读全文
posted @ 2018-06-18 20:52 liugx 阅读(575) 评论(0) 推荐(0)
摘要:安装PHP 的 swoole 扩展 及 安装 laravel,就不描述了 整合 laravel 和 swoole 用了这个轮子,侵入性很小,一行代码搞定,推荐一下,今天刚用,不能预测未来是否会遇见坑 https://github.com/swooletw/laravel-swoole 文档也讲的相对 阅读全文
posted @ 2018-05-10 13:30 liugx 阅读(3727) 评论(0) 推荐(0)
摘要:背景: 现在写接口服务应用有一个很通用的需求,想通过日志、或者监控的形式监测的接口的运行情况,比如耗时、请求参数、响应结果。和前端联调接口时或者排查线上问题时日志必不可少,特别是现场日志。 应用运行时抛出异常时如何处理记录对应的日志。 统一处理及在一个地方一起处理异常及日志 以前开发喜欢在控制器方法 阅读全文
posted @ 2018-05-09 10:26 liugx 阅读(793) 评论(0) 推荐(0)
摘要:最近升级了系统,发现PHPStorm 运行一会儿就卡顿起来了,按网上的方法加大内存配置也是没效果; 运行一会儿照样卡顿,接着一会儿就要内存溢出了挂掉了; 想着最近只有升级过操作系统,并没有升级JDK等版本依赖,很是恼火,效率低下 刚好看见官网今年出了新版本,于是马上卸载,甚至连原来藏在各个文件夹中的 阅读全文
posted @ 2018-04-21 13:42 liugx 阅读(1186) 评论(0) 推荐(0)
摘要:一、当调试模式出现说路径不匹配的时候,需要检查当前请求的URL和设置断点的是否在同样的位置 Debug session was finished without being paused It may be caused by path mappings misconfiguration or no 阅读全文
posted @ 2018-04-17 20:55 liugx 阅读(1909) 评论(0) 推荐(0)
摘要:前言:一直以来想学习与实践一下敏捷开发,之前项目虽说口口声声我们项目是敏捷开发,其实很扯。 敏捷开发如果有持续集成、持续部署的支持,那样开发、测试、运维将节省不少精力。 此系列博客只为记录CI/CD的实践与学习: 一、PHP运行环境的准备(centos7.4下安装docker环境搭建 PHP7.1 阅读全文
posted @ 2018-04-07 21:09 liugx 阅读(532) 评论(0) 推荐(0)
摘要:一、安装PHP的xdebug扩展 安装xdebug(技巧,为了找到适配的版本,让xdebug网站根据phpinfo()函数输出分析找到对应的方法及安装步骤;如果安装了多个PHP版本的话,尽量用phpinfo()在web页面的输出,而不要用php -i在控制台的输出,以防止版本不对应) 去官网http 阅读全文
posted @ 2018-04-06 15:19 liugx 阅读(261) 评论(0) 推荐(0)
摘要:之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发、测试、生产环境由于软件版本或者配置不一致产生的问题, 今年准备持续玩玩docker+kubernetes下的敏捷开发模式(当然还有其它:如持续集成) 备忘下第一 阅读全文
posted @ 2018-03-03 19:17 liugx 阅读(2752) 评论(0) 推荐(0)
摘要:前几天从php7.0.x 升级到了php7.2.0版本, 结果装xhprof没有找到能支持对应版本的xhprof 于是又安装了一个php7.1.2的版本(brew install h) 接着安装xhprof扩展 启用扩展 将 上面下载的 xhprof 文件夹中的这两个目录复制一份到 /Users/l 阅读全文
posted @ 2017-12-20 15:07 liugx 阅读(1702) 评论(0) 推荐(0)
摘要:由于最近的需求需要对语音文件进行处理,所以抽空研究了下php处理音/视频文件的处理,简单的demo处理,截取一个音频文件的前20秒,并保存新的媒体文件。 阅读全文
posted @ 2017-08-11 15:13 liugx 阅读(529) 评论(0) 推荐(0)