phpcmsv9登录失败的解决方法

这篇文章给大家分享的是有关phpcms v9登录失败的解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

创新互联-专业网站定制、快速模板网站建设、高性价比克山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式克山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖克山地区。费用合理售后完善,十年实体公司更值得信赖。

phpcms v9登录失败?phpcmsv9全站 https ssl后会员登录失败解决方法

phpcms v9登录失败的解决方法

很多朋友在使用phpcmsv9的时候遇到了这样一个问题,在将全站https化后,会员中心无法正常登录,具体是没有返回值,提示登录失败,主要是原来是系统在初始化phpsso时,无法将数据通过443传输到对应的方法,通过排查问题,可以看到在client.class.php中,系统默认使用的端口是80,所以我们只需要按以下方法修改就可以解决在https后会员无法登录的问题:

phpcms v9登录失败的解决方法

phpcms/modules/member/classes/client.class.php

中361行修改如下:

$port = !empty($matches['port']) ? $matches['port'] : ( strtolower($matches['scheme'])=='https' ? 443 : 80 );

第386行将:

$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);

替换为

$contextOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false
    )
);
 
//如果有签名的证书
//$contextOptions = array(
//    'ssl' => array(
//        'verify_peer' => true, 
//        'cafile' => '/path/to/cacert.pem',
//        //'CN_match' => 'indexroot.net', // 匹配域名
//        'ciphers' => 'HIGH:!SSLv2:!SSLv3',
//        'disable_compression' => true,
//    )
//);
 
$context = stream_context_create($contextOptions);
$fp = stream_socket_client("ssl://{$host}:{$port}", $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $context);

感谢各位的阅读!关于phpcms v9登录失败的解决方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!


分享题目:phpcmsv9登录失败的解决方法
文章地址:http://cdiso.cn/article/peidcc.html

其他资讯