PHPCMS更换空间后无法登录、注册

2013年01月27日 14:18:05 苏内容
  标签: 空间
阅读:7328

修改/www/web/default/public_html/phot/phpsso_server/caches/configs下面的system.php和database.php

解决PHPCMS 安装问题 Can not connect to MySQL server  


系统环境 centos 
安装phpcms v9报错如下
正在准备安装 ...
后台管理主模块安装成功......
PHPSSO单点登录系统安装成功......
错误信息:
MySQL Query :
MySQL Error :
MySQL Errno : 0
Can not connect to MySQL server 

-------------------------解决办法------------------------------------
1、修改文件
将/etc/php.ini文件中的short_open_tag = Off 项,设置成On,重启服务器即可。
2、设置目录的权限时使用 chmod -r 777 目录名称



phpcmsV9涉及到图片的问题貌似不少,以前无忧主机小编就处理过关于后台验证码不显示、后台上传图片报错等问题。但是今天小编遇到的并没有涉及到这方面,而是一个关于会员登录的问题,会员无法登陆phpcmsV9。

通过在网上寻找资料,无忧主机小编明白了出现这个问题的原因。由于服务器的防火墙限制,导致了phpcms的phpsso通信异常。

解决方法如下:

当服务器安装防火墙,服务器将无法通过域名访问网站,这个时候您需要把phpsso修改一下路径。

登陆phpcmsV9后台的phpsso管理——应用管理,您会发现通信是失败的。这个时候我们需要把路径改成localhost/xxx/,如下图所示:

 

服务器防火墙导致phpcms v9 会员登录不上问题解决 phpcms1

phpcms后台

光改上面那个地方还不够,我们还需要找到phpsso/caches/configs/system.php里找到 phpsso_api_url= 把后面的域名也改成localhost/xxx/phpsso_server

这样问题就可以完美解决了。环境:



 

操作系统:Linux

服务器软件:nginx/1.1.16PHP/5.3.27

MySQL 版本:5.5.34-log

PHPCMS程序版本:Phpcms V9.5.7 Release 20140625

 

问题:

本地:本地调试一切正常

服务器上:PHPCMS中PHPSSO通信成功,无法进行账号注册、登录,通过跟踪代码发现下面代码中返回的的$fp为空值

 

  1. $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);  
fsockopen函数替换为pfsockopen函数返回值仍为空
经过搜索,发现原来是因为fsockopen函数和pfsockopen函数存在安全问题,已被服务器禁用

 

安全通知公告网址:http://www.xrnet.cn/store/2012-01-10.html

 

解决办法:

用其他函数代替fsockopen、pfsockopen函数,比如stream_socket_client

示例如下
修改前:

  1. $fp = fsockopen($host, 80, $errno, $errstr, 30);  
 或 
  1. $fp = fsockopen($host, $port, $errno, $errstr, $connection_timeout);  
修改后:
  1. $fp = stream_socket_client("tcp://".$host."80", $errno, $errstr, 30);  
或 
  1. $fp = stream_socket_client("tcp://".$host.":".$port, $errno, $errstr, $connection_timeout);  

 

注释:DISCUZ通信失败也有可能是因此原因!

扩展阅读