七月 20th, 2009ucenter安装后登录不了后台和uchome安装时不正确跳转
此文章来源于后羿之弓,转载请注明出处
因需要,今天下载了ucenter和uchome来安装,结果老是出问题,完全感觉不到装php开源程序的乐趣。但又不得不装上他们去研究一些东西,所以只能跑到代码里去跟踪了,在此将结果分享一下。
ucenter安装后登录不进去后台,原因在于cookie中的sid冲突了。因为我用的顶级域名里已经用了sid这个COOKIE,所以导致它的代码在检测并分析$username时出现了问题。
uchome安装时,第2步是设置UCenter信息,设置完后,居然不能正确跳转到下一步去执行安装程序,而是直接跳到顶级域名里了。原因在于安装程序里去检测你的ucenter,并尝试连接和验证,但是因为我是在本地测试,所以gethostbyname()并非得到真正的地址,解决方法有两种
1.修改测试服务器上的HOST
2.修改代码,代码如下:
- if(empty($ucapi) || !preg_match("/^(http:\/\/)/i", $ucapi)) {
- show_msg('UCenter的URL地址不正确');
- } else {
- //检查服务器 dns 解析是否正常, dns 解析不正常则要求用户输入ucenter的ip地址
- if(!$ucip) {
- $temp = @parse_url($ucapi);
- $ucip = gethostbyname($temp['host']);
- if(ip2long($ucip) == -1 || ip2long($ucip) === FALSE) {
- $ucip = '';
- }
- }
- }
- $ucip = '192.168.10.82';//添加了这一行