系统需要导出淘宝大量数据,而淘宝的用户数据都是加密返回,且不允许明文保存。需要每次在显示的时候请求解密秘钥,再进行解密。
当需要导出大量数据时,解密秘钥请求很多,淘宝会经常返回302 found的错误,导致数据无法导出。
淘宝sdk提供yac缓存,缓存解密秘钥,减少向淘宝的秘钥请求。
现将扩展yac的过程记录如下,方便后续查找问题:
//下载yac
$ cd /opt
$ wget https://pecl.php.net/get/yac-0.9.2.tgz
//解压
$ tar -zxvf yac-0.9.2.tgz
$ cd yac-0.9.2/
//编译安装
$ phpize
//如果上面那一步提示no command,需要安装php5-dev(注意安装自己php版本的,我们的php版本是5),如果上面那一步正常使用,则不需要安装
$ apt-get install php5-dev
//编译安装
$ phpize
$ ./configure
$ make
$ make install
// 接下来,需要将extension=yac.so写入到扩展配置中,注意这一步需要切换到root用户下操作
$ echo extension=yac.so > /etc/php5/apache2/conf.d/yac.ini
$ chmod 777 /etc/php5/apache2/conf.d/yac.ini
//重启apache
$ sudo service apache2 restart
//然后用phpinfo查看是否存在yac扩展
如果你需要cli模式下也使用这个扩展,那么cli也增加yac.ini文件
$ echo extension=yac.so > /etc/php5/cli/conf.d/yac.ini
$ chmod 777 /etc/php5/cli/conf.d/yac.ini
//查看是否扩展安装成功
$ php -m
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。