Friday, March 18, 2011

免费空间自建Twitter API(TWIP)失效的解决方法

1.在一部分屏蔽twitter免费空间的解决方法
推测byethost服务器直接拦截了twip向twitter发出的请求,只过滤包含twitter.com,将twip.php中PARENT_API = 'http://twitter.com'的twitter域名替换成twitter的ip地址128.121.146.228,测试成功
ps:仅在byethost免费空间实践成功,其他空间请自行测试。

2.TWIP3在一些免费空间的终极解决方法
将文件夹复制/上传到你的虚拟主机web目录下
将index-example.php重命名为index.php
修改index.php,让
$options['webroot']变量为你的API文件所在目录
(也就是index.php这个文件所在的目录)相对于你的web根的路径。
例如你通过http://example.com/twip/来访问你的API,那么你的$options['webroot']变量填写为'/twip'。注意的是3.0新版里自动识别了路径,所以无论是填twip还是twip/还是/twip/都能正常处理。
针对免费空间无法支持http basic auth的终极解决方案:

在完成以上步骤后,如果你的API无法使用,很有可能是因为你的空间的PHP是通过fastCGI跑的,PHP只有作为apache的module运行时才支持http basic auth.
在新版里添加了workaround,具体的实现方法是:
假设你的api地址是:http://example.com/twip/
那么请在你的软件里设置如下的API地址:http://example.com/twip/username:password/
其中的username和password替换成你的实际twitter用户名和密码。密码中不能包含/字符,可以包含:字符。
这样的workaround问题是显而易见的,在apache的访问日志里,你的用户名密码一览无余。这是非常危险的行为!!!!!!
请在保证你已经阅读上文的前提下,通过以下方式打开这个功能:
在index.php中,修改
$options['cgi_workaround'] = 'YES I DO NEED THE WORKAROUND!';
增加一点
在000webhost搭建dabr、奶瓶腿、twip注意事项
昨天在000webhost上成功搭建了奶瓶腿,不过只能看推,发推或者点击任何一个链接都会跳转到一个错误页面。在网上搜索了一下,找到了解决方法。问题在.htaccess文件上,根据000webhost的官方帮助文档,必须在.htaccess的头部加上"RewriteBase /"(不含引号)。如果奶瓶腿不是放在根目录下还得加上目录名称,譬如我的奶瓶腿放在dabr目录下就在头部添加"RewriteBase /dabr/"如图所示:

保存退出并把.htaccess上传到服务器即可解决问题。
今天早上醒来的时候发现有推友问我能不能在000webhost上搭建twip。我记得自己曾经试过一次是失败的,不过又想想,奶瓶腿都可以搭建成功,twip没理由不可以呀,难道问题还是在.htaccess文件上?
于是,刚刚把修了一下twip的.htaccess文件,再传上去,果然测试成功!

需要注意的是,twip目录必须设置成777,或者关闭log记录,否则会因为权限问题写不进log.txt文件失败。关闭log记录可以修改twip的index.php文件,看图:

没什么必要的话,我建议大家还是关闭log记录吧,还能节省服务器资源。另外,我发现某些不能搭twip的空间只要把短网址功能关闭就可以了。

Powered by Blogger Skins. Theme: TheBuckmaker | Free Wordpress Templates. Presents HD TV Futurama Streaming. Featured on Wedding Dresses.