这两天又被环境折腾了一把,记录一下
原因:前段时间更新ubuntu 20,把整个系统都重装了,和过去做了一个告别。最近有个开发任务,在本地开发的时候运行不了,永远只能进到默认的控制器中。有些迷信,猜测是不是系统的问题,尝试各种nginx的配置,都没有成功。
今天干脆折腾一把vagrant,安装了18.04的版本,php7.0. 你知道的,php需要装很多扩展,我们的项目中用到的扩展有yaf、yaconf、redis、seaslog。 装redis的扩展的时候报了一个错误,搜索了一下是和redis和json扩展的顺序有关,网上给的解决方案没有解决,自己摸索到的处理方案是删除掉json默认的扩展,在php .ini中配置,,先redis,再json就解决了,扩展的问题解决之后还是和本地机一样的问题。
还是怀疑和nginx的配置有关系,各种尝试之后终于成功。和系统版本没有关系,和php版本没有关系,和yaf的版本没有关系,只是nginx的配置有问题。我的配置是从生产复制的。
折腾之后几点感想吧。
- php 环境配置起来真的很折腾,需要nginx和php-fmp,还有各种的扩展。如果是java的话只需要装jdk就可以了,然后maven一起就ok。但是从开发上来说php的效率比java高很多,尤其是调试的时候,java每次都需要重新启动一下 。 维护php也很麻烦,最近看以前的人写的逻辑,函数传参都是定义的变量,没有定义类,潜逃又非常深,导致一个变量的来源要和剥洋葱一样一层层往下找。
- 对原理的掌握,nginx 配置的所有参数都需要心里有数。
— 此文使用ipad和小键盘敲写。