Jul6

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

Author: leeon  Click: 58   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: 77   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: 93   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仓库

May31

【原创】msgpack无法识别定位错误的小技巧

Author: leeon  Click: 128   Comments: 0 Category: php  Tag: php,msgpack

php下的msgpack扩展定义的反序列化方法没有捕获反序列化失败时候的状态情况。如果反序列化失败,magpack只会抛出warning错误,我们没办法直接通过magpack提供的方法获取执行结果状态。其实我们可以使用php的原生方法来识别warning错误,从而判断反序列化是否成功。如下代码就可以解决我们的问题:

[code="php"]
error_clear_last();
$ret = msgpack_unpack($recv);
if (error_get_last()) {
// 反序列化失败
} else {
// 序列化成功
}
[/code]

分类

标签

归档

最新评论

默一在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的注意事项

我看过的书

链接

其他

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