这几天做的合作方方面的业务, 通过合作方传递过来的token, 利用curl获取用户相关信息, 对于头像地址: http://xxxx.jpg采用file_get_contents 远程获取二进制数据,然后进入我们的图片系统, 系统上线后,发现头像经常报警, 然后,我开始做检查, 分别记录日志,记录程序运行时间, 发现原来是file_get_content获取远程头像时超过了php.ini中定义的最大时长 (php.ini中定义的default_socket_timeout 为60), 出于网络问题, 采用了如下方式进行解决:
将头像和用户uid记录入队列中, 在后台bin程序中不间断的运行bin程序,获取队列中的数据,进行头像更新。