一个功能,再线下好好的,到了线上就不行了,解决思路。

周五(2019/04/19)项目的一个功能,为新闻详细页里面的所有图片转成cdn的地址;当时使用的preg_replace('/\/Uploads\//', config('app.__CDN__') . '/Uploads/', $row['content'])函数,
意思是将文章中所有Uploads字符的都换成__CDN__配置,用的是tp5.1框架,__CDN__配置参数写在app.php文件中,本地测试功能成功实现,显示正常,然后将news.php文件上传到线上,
测试线上就是没有把图片转换成cdn的地址,然后开始改bug。首先查看函数preg_replace(),查手册显示到某个版本换成了preg_replace_callback();然后就开始更改函数,参数1pattern,参数2function,参数3要替换的内容,然后就开始各种写,测试,还是没有是实现,改了有一个多小时,还是没有实现功能,然后突然想起来,app.php里面配置没有上传到线上。
总结思路:
1、定位错误,当前错误肯定发生再该控制器下面的该方法里,清除缓存或许是缓存的问题;
2、如果是有获取外部参数的话,打印线上先打印看看是否能获取到外部配置参数;
3、检查该功能使用的方法是否有错误
4、如果该功能没有实现就会报错的换先线上这个功能指向404页面,确保线上项目正常运行,写个别的方法进行测试,成功后再做替换;

你可能感兴趣的:(面试题,文章)