文章目录 [+]
以前一直都在Linux上边开发,自从换了Mac之后呢,就在Mac上边开发了,某一天,公司的老大说是让跑个队列,修改数据库中的图片地址,详情如下:
下载访问为200的图片,上传到七牛云上边,并且替换掉;
将临时域名替换掉为正式域名(因为七牛云的临时域名每天是有固定访问人数的);
将相对路径改为绝对路径,将/Uploads/**.img 改为http://***.com/**.img。
坑一:
这是一个比较尴尬的事情,为什么呢,因为我在队列只要一查询数据就会报错,
上边一堆代码 $articleNewData = CostaNews::find ( $this->data[ 'NewsId' ] );
然后呢,他就会报错,很多人看到这里就不想看了,然后说肯定数据没有啊什么的,其实不对,因为队列在终端跑的,而我用的mamp,所以需要添加一个配置,如下图:
其实就是这个配置,因为在链接数据库的时候,需要使用 socket 来链接本地数据库(mamp集成环境),加上之后就没有了问题。
坑二:
等我自信满满的开始跑队列之后,然后呢,因为好几万的数据,比较多,我就等着,然后到了40的时候终于出事了,抛出错误一看,如下图:
提示我text字段存放不进去数据了,要知道,text字段可是很大的了,
因为当时确实没有测试这个数据到底多大,所以也就比较尴尬了,因为最终的问题并没有找到,最终我还是认为因为数据包太大,导致了无法修改,那么我Google到的方法如下三种:
将线上的环境text改为longtext,这个可以运行迁移文件,或者直接改,随便,开心就好(未测试);
修改数据包大小限制,这个为临时修改,重启服务器或者mysql之后,自动还原,如下mysql命令:
set global max_allowed_packet = 1*1024*1024*5最后一种并不建议去做,因为线上的环境不允许去修改配置文件并且重启服务器(修改max_allowed_packet配置,请自行百度)。
我用的是第二种方法,但是也的确的生效了,比较尴尬。
开发的路上总是各种跌宕起伏,给大家推荐一本书,很好看哦
希望大家在学习PHP的过程中不要死掉~~~
发表评论