版权声明:本文为博主原创文章,欢迎转载,转载时请以超链接形式标明文章原始出处。 https://blog.csdn.net/lilongsy/article/details/81078869
网络问题
使用composer的时候经常会因为网络原因导致一些问题:
composer
Failed to decode response: zlib_decode(): data error
The “http://getcomposer.org/versions“file could not be downloaded
Content-Length mismatch
最彻底的解决方法就是设置国外代理,可以买,也可以自己去搭建。
这里使用的是Shadowsocks。
设置Shadowsocks客户端
yum install python-pip
pip install shadowsocks
上面脚本先安装了python的pip,然后安装了Shadowsocks,其中包括客户端sslocal
和服务端ssserver
。这里只用到了sslocal
。
可以使用命令行参数里配置Shadowsocks的代理信息,但是更推荐把代理信息写到文件里:
vim /etc/shadowsocks.json
{
"server":"shadowsocks的IP",
"server_port":8388,
"local_address": "0.0.0.0",
"local_port":1080,
"password":"pwd",
"timeout":300,
"method":"rc4-md5",
"fast_open": false
}
其中local_address是本地绑定的IP。method是加密码算法,这个必须跟shadowsocks的服务端的一致。
启动Shadowsocks
$ sudo sslocal -c /etc/shadowsocks.json -d start
关闭Shadowsocks
$ sudo sslocal -c /etc/shadowsocks.json -d stop
安装Privoxy
Shadowsocks使用的socks5协议,而终端很多工具目前只支持http和https等协议,所以我们要用工具把socks5转成http协议。在linux下可以使用privoxy来实现这个转换。
运行如下命令:
tar -xzvf privoxy-3.0.26-stable-src.tar.gz
cd privoxy-3.0.26-stable-src
useradd privoxy
autoheader && autoconf
./configure
make && make install
配置privoxy:
vim /usr/local/etc/privoxy/config
去掉以下前面的注释符号
listen-address 127.0.0.1:8118
forward-socks5t / 127.0.0.1:1080 .
启动:
service privoxy start
设置代理变量:
vi /etc/profile
或:
vim ~/.bashrc
添加如下内容:
export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118
export ftp_proxy=http://127.0.0.1:8118
然后载入当前环境:
source /etc/profile
可以用以下命令来测试当前ip:
curl ip.gs