Aug6

【原创】json formatter插件导致数字显示异常

Author: leeon  Click: 45   Comments: 0 Category: 其他  Tag: 浏览器,json

昨天遇到一个诡异的事情,json输出一个包含数字的字段却在浏览器上数字不对称,原始数据为

{"aa":201808041446086641}

但是Chrome浏览器上打开却显示:

{"aa": 201808041446086660

}


没错后面的86641变成了86660.接口吐出的数据是正常的,期初是怀疑浏览器的解析兼容性问题,但是后来测试了firefox和ie都能正常识别,当然也怀疑过浏览器对于json中数字的识别是否出现了溢出。后来换了一个没有安装任何插件的chrome测试是显示的正常的,这里可以确认json formatter插件导致json的显示异常了。那么如何避免这个问题呢?你可以在后端返回的时候保证所有返回值都是字符串类型就行了。

Jul6

【原创】php.ini配置中memory_limit的配置坑

Author: leeon  Click: 98   Comments: 0 Category: php  Tag: php.ini,memory_limit

当你设置了memory_limit但是还是报内存不足错误的时候,请检查两个地方。

1 memory_limit如果你设置的是兆,那么请用M单位,而不是MB单位。

例如:

memory_limt = 128M 是对的 

memory_limit= 128MB 是错误的。

2. php-fpm配置文件中的php_admin_value[memory_limit] 参数优先级高于php.ini中的memory_limit,请确认这里的参数是否设置合理

Jul2

【原创】Laravel5.5及以上版本多环境.env配置

Author: leeon  Click: 121   Comments: 0 Category: php  Tag: laravel,.env

laravel 默认工程一个.env文件,如果在多个运行环境下如何自动区分读取不同的.env文件呢?其实laravel本身就已经实现了多环境读取.env,网上那些教程都是要加代码来识别或者讲的不清不楚的,laravel在5.5版本的框架底层中实现了读取不同的.env逻辑。请看截图:

那么我们该如何使用这个特性呢?其实很简单,加入我们有4个环境(dev环境,test环境,beta环境,production环境)。

我们只需要在工程根目录下创建四个文件,可以注意到不同环境是不同的环境关键字,分别为:

1.  .env.dev 开发环境

2.  .env.test 测试环境

3.  .env.beta beta预发布环境

4.  .env.producton 生产环境

创建后,在里面配置不同环境下的相关配置数据。

重点来了,这也是最重要的异步,如何告诉laravel要去读取指定环境的.env配置文件呢。其实只需要两步骤,在你指定运行环境下的nginx配置中PHP配置参数段中加上一行:

fastcgi_param APP_ENV test;   // 根据环境不同填写对应的环境关键字。

配置后,重启nginx即可。这时候系统会区分环境读取.env文件了。

Jun23

【原创】完美解决IntelliJ IDEA无法更新maven索引的问题

Author: leeon  Click: 150   Comments: 0 Category: java  Tag: intellij idea,maven,pom,索引
楼主最近研究spring boot要用到maven,但是苦于intellij idea的maven依赖更新始终无法正常更新。老是提示:

java.lang.RuntimeException\: java.io.FileNotFoundException\: Resource nexus-maven-repository-index.properties does not exist

网上的解决方法通过代理科学上网的方式来做 https://blog.csdn.net/ziven2012/article/details/78132264,但是我这边使用xxnet无法正常请求。于是我想到通过搭建本地nexus仓库的方式来使intellij更新索引。

具体方式如下:

1. 不使用intellij 自带的maven,手动自己本地部署一个maven最新版本,然后配置maven的路径和setting.xml文件路径。如下图所示:

2. 请使用nexus oss 2.XX的版本,千万别用3.X的版本。

3. 手动下载索引的相关文件。假设nexux部署后sonatype目录在/work/opt/sonatype-work/ ,那么我们将索引文件放入中央仓库的.index目录下:/work/opt/sonatype-work/nexus/storage/central/.index
此目录必须包含如下索引文件:

4. 测试你的nexus服务器是否能访问此索引地址,比如我的nexus中央仓库路径为:http://192.168.1.8:8081/nexus/content/repositories/central/
那么你的索引文件路径则应该为:
http://192.168.1.8:8081/nexus/content/repositories/central/.index/nexus-maven-repository-index.gz

5. 接着最后一步很重要,要让intellij idea识别mirror镜像配置,告诉maven应该去哪个镜像下载更新索引文件。在第一步中我设定maven的配置文件在E:\apache-maven-3.5.3\conf\settings.xml ,因此我们要修改这个xml中mirror相关项。在mirrors的区域添加如下信息:
 
      central
      central maven
      http://192.168.1.8:8081/nexus/content/repositories/central/
      central
   

注意箭头处一定要是central类型镜像仓库。

6. 最后完美解决,其他网上的教程都不靠谱,这个更新起来速度倍儿快,而且还很稳定。其实做个做法你也可以通过搭建一个nginx来做,我这样做的目的是让intellij 自动集成本地的nexus仓库

分类

标签

归档

最新评论

默一在09:04:53评论了
Berkeley DB 由浅入深【转自架构师杨建】
Memory在14:09:22评论了
【原创】最佳PHP框架选择(phalcon,yaf,laravel,thinkphp,yii)
leo在17:57:04评论了
shell中使用while循环ssh的注意事项
呵呵哒啦在15:06:33评论了
【原创】最佳PHP框架选择(phalcon,yaf,laravel,thinkphp,yii)
jayden在23:39:32评论了
shell中使用while循环ssh的注意事项

我看过的书

链接

其他

访问本站种子 本站平均热度:6650 c° 本站链接数:27 个 本站标签数:452 个 本站被评论次数:92 次